NULL
NULL既不是格也不是0,未知值,算术表达式里有NULL,结果是NULL;没有初始化,且没有默认值,则为NULL;
create table student(
sid number(8) primary key,
name varchar2(20),
sex char(2) default '男',
age number(2,0) default 20,
address varchar2(50)
);
insert into student(sid,name) values(1,'张诗');
insert into student values(2,'里斯',default,34,'北京');
列别名:
3种方式:别名里有空格必须用双引号
select empno as 雇员编号,ename 雇员名,sal*12 "年收入" from emp;
连接符:
链接列与字符串或列与列:|| 或 concat函数
select ename ||'的工资是:'||sal ||',岗位是:'||job from emp;
SMITH的工资是:800,岗位是:CLERK
字符串:
Select里的字符、日期、数字
日期字符只能在单引号里面出现
每当返回一行时,字符串被输出一次
比较运算符:
Where里的字符值和日期值要加单引号,且区分大小写
Where里=等于, >=,<=,>,<,<>不等于,!=不等于
范围查询:
Between ……and……
In(值1,值2,……)
like:通配符
%:0-n个字符
_:单个字符
回避特殊符号\_ \% escape ’\’
如下,G\_%将忽略掉escape提示符‘\'后面的一个‘_’,把'_'当成普通字符,而不会忽略%作为通配符的作用
Selecct * from emp where ename like ‘G\_%’ escape ’\’;
判空is null 判断非空 is not null
判空不能用=NULL 和<>NULL
逻辑运算
And 与
Or 或
Not 否 not in(值1,值2,……)
优先级 not>and>or
排序:asc升序 默认;desc降序
Order by 必须放在所有语句最后;升序排序有null行,显示在最后;
单列排序
多列排序:先部门升序,相同数据,以雇员编号降序排序
Select empno,ename,depno,sal
From emp
Order by depno asc,empno desc;
使用列别名排序:
Select empno,ename,sal*12 年收入
From emp
Order by 年收入 desc;
如有错误或疑惑请留言。