IN的语法格式:
in(值1, 值2 , 值3 )
例:查询雇员编号为 7499 , 7782 , 7844 的雇员信息
SQL> select * from emp where empno in (7499 , 7782 , 7844) ; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- ------ 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30 7782 CLARK MANAGER 7839 1981/6/9 2450.00 10 7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30LIKE的使用要注意通配符的问题,有两种通配符:
% --任意多个字符的匹配
_--只匹配一个字符
例;查询名字中第二个字符是M的雇员信息。
SQL> select * from emp where ename like '_M%'; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- ------ 7369 SMITH CLERK 7902 1980/12/17 800.00 20转译字符:上面中使用了 % , _ 作为了匹配字符,如果名字中含有下划线,要如何查询呢?
此时我们就要进行转译;
语法格式:
SELECT ename
FROM emp
WHERE ename LIKE ‘IT\_%‘ escape ‘\‘;
判空操作:
例:查询表中没有奖金的员工信息
SQL> select * from emp where comm is null ; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- ------ 7369 SMITH CLERK 7902 1980/12/17 800.00 20 7566 JONES MANAGER 7839 1981/4/2 2975.00 20 7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30 7782 CLARK MANAGER 7839 1981/6/9 2450.00 10 7788 SCOTT ANALYST 7566 1987/4/19 3000.00 20 7839 KING PRESIDENT 1981/11/17 5000.00 10 7876 ADAMS CLERK 7788 1987/5/23 1100.00 20 7900 JAMES CLERK 7698 1981/12/3 950.00 30 7902 FORD ANALYST 7566 1981/12/3 3000.00 20 7934 MILLER CLERK 7782 1982/1/23 1300.00 10 10 rows selected如果在where条件语句中含有,字符或者是日期,要用单引号将其引起来。
格式如下:
SELECT ename, hiredate, sal
FROM emp
WHERE hiredate = '7-6月-1994'
SELECT ename, deptno
FROM emp
WHERE ename ='Whalen';
排序:字符大小写敏感,日期的格式敏感,日期格式为 dd-m月-yy 。
例:查询emp表中所有的信息,对结果进行排序,首先对部门号进行排序,部门号一样则按工资降序进行排列,如果工资一样,则按员工号进行降序排列。使用 ORDER BY 字句对查询的结果进行排序。
语法格式:
select distinct * | (具体的列名)
from 表名
where 查询的条件
ORDER BY 排序的字段 1 , 字段2 , 字段3 (asc | desc ) ;asc-> 表示的升序 ,desc –> 表示的是降序 ,默认的是升序排列。排序除了可以按照 表中的字段进行排序,还可以使用别名来排序。
SQL> select * from emp order by deptno ,sal desc ,empno desc; EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO ----- ---------- --------- ----- ----------- --------- --------- ------ 7839 KING PRESIDENT 1981/11/17 5000.00 10 7782 CLARK MANAGER 7839 1981/6/9 2450.00 10 7934 MILLER CLERK 7782 1982/1/23 1300.00 10 7902 FORD ANALYST 7566 1981/12/3 3000.00 20 7788 SCOTT ANALYST 7566 1987/4/19 3000.00 20 7566 JONES MANAGER 7839 1981/4/2 2975.00 20 7876 ADAMS CLERK 7788 1987/5/23 1100.00 20 7369 SMITH CLERK 7902 1980/12/17 800.00 20 7698 BLAKE MANAGER 7839 1981/5/1 2850.00 30 7499 ALLEN SALESMAN 7698 1981/2/20 1600.00 300.00 30 7844 TURNER SALESMAN 7698 1981/9/8 1500.00 0.00 30 7654 MARTIN SALESMAN 7698 1981/9/28 1250.00 1400.00 30 7521 WARD SALESMAN 7698 1981/2/22 1250.00 500.00 30 7900 JAMES CLERK 7698 1981/12/3 950.00 30 14 rows selected