文章列表
一个协议定义了在两个或多个通信实体之间交换的报文格式和次序,以及在报文传输和(或)接收或其他事件方面所采取的动作。
Insert into
- 博客分类:
- SQL /Oracle
insert into table [(column[,column...])]
values (value[,value...]);
一次只能添加一行。
insert into table (column[,column...])
subquery;
笛卡尔积
内联结
外联结 (+)一侧代表空行
自然联结 natural join --名称和数据类型都相同的列。
using 子句
三向联结 ,从左至右。
CASE 表达式;
DECODE 函数;
CASE expr
CASE expr WHEN compr_expr1 THEN rt_expr1
[WHEN compr_expr2 THEN rt_expr2
WHEN compr_expr3 THEN rt_expr3
ELSE else_expr]
END
NVL(expr1,expr2) --将空值转换为实际的值
NVL2 (expr1,expr2,expr3) -- 如果expr1为非空,返回expr2;否则,返回返回expr3;
NULLIF(expr1,expr2) --将两个表达式比较,如果相等,返回空值;否则,返回expr1;
COALESCE(expr1,expr2,...,exprn) --返回列表中的第一个非空表达式;
嵌套函数
- 博客分类:
- SQL /Oracle
TO_CHAR(number|date,[ fmt],[nlsparams]) --
TO_NUMBER()
TO_DATE()
--单行函数可以嵌套任意层,从最内层开始评估,直到最外层。
F3(F2(F1(col,arg1),arg2),arg3)
函数--单行函数
- 博客分类:
- SQL /Oracle
function_name[(arg1,arg2,...)]
--function_name 函数的名称
--arg1,arg2 函数将使用的任意参数,它可以用列名或表达式来代表。
单行函数用于处理数据项的。接受一个或多个参数,并为查询返回的每个行返回一个值 ...
默认:ASC 升序。DESC,降序。
没有order by,默认随机顺序。
order by在select语句的最后。
select expr
from table
[where condition(s)]
[order by {column,expr} [ASC|DESC];
order by 指定被检索行的显示顺序。
select last_name,job_id,hire_date
from employees
order by hire_date DESC;
升序指:
1 数字先显示最小值,如1-999.
2 ...
WHERE expr operator value
--在where子句中不能使用别名
--比较条件:=,>=,,,BETWEEN...AND...,IN(set),LIKE,IS NULL
--比较条件用在将一个表达式与另一个值或表达式进行比较的条件中。
例1:
select last_name,department_id,job_id
from employees
where department_id=90;
-- 注:where子句的 日期、字符串必须包含在单引号('')中。数字常数不能包含在单引号中。 所有的字符搜索是区分大小写的。 日期指是区分 ...
例1:检索所有列
select * from employees;--注:* 选择所有字段,列的顺序一般(但并不总是)是列在表定义中出现的物理顺序。但检索不必要的列会降低性能。
例2:检索多个列
select last_name,salary
from employees;
例3:算术表达式。使用算术运算符(+ - * /)创建数字和日期表达式。
select last_name,salary,salary+300
from employees;--注:salary 字段是数字格式。salary+300 只是用于显示的列。列名来自计算公式。
...
语法:
select *|{[DISTINCT] column|expression [alias],...}
from table
[where condition(s)];
解释:
select 一个列或多个列的列表
* 选定所有列
DISTINCT 禁止重复项
column|expression 选择指定的列或表达式
alias ...