10 MILLER 7782
2. 算术运算符在SQL中的使用
SELECT ENAME, SAL+250*12 FROM EMP;
3. 连字符的使用
把职工号和职工名字连接起来,如下:
SELECT EMPNO||ENAME EMPLOYEE FROM EMP;
把职工号和职工名字中间用‘-’连接起来,并输出‘WORKS IN DEPARTMENT’,如下: SELECT EMPNO||’-‘||ENAME EMPLOYEE, ‘WORKS IN DEPARTMENT’, DEPTNO FROM EMP; 4. 禁止重复
如果列举出EMP表中所有部门号: Select deptno from emp; DEPTNO ---------------- 20 30 30 20 30 30 10 20 10 30 20 30 20 10
从上表中可以看出部门号之间存在着许多的相同的,可以用DISTINCT子句来消除重复的。 SELECT DISTINCT deptno from emp; DEPTNO --------------- 10 20 30
5. 排序
按单个字段排序,如按照ENAME排序, SELECT ENAME, JOB, SAL*12, DEPTNO FROM EMP
ORDER BY ENAME; ENAME JOB SAL*12 DEPTNO
------------------------- ------------------------- ------------------------- ------------------------- ADAMS CLERK 13200 20 ALLEM SALESMAN 19200 30 BLAKE MANAGER 34200 30 CLARK MANAGER 29400 10 FORD ANALYST 36000 20 JAMES CLERK 11400 30 JONES MANAGER 35700 20 KING PRESIDENT 60000 10 MARTIN SALESMAN 15000 30 MILLER CLERK 15600 10 SCOTT ANALYST 36000 20 SMITH CLERK 9600 20 TURNER SALESMAN 18000 30 WARD SALESMAN 15000 30 按多个字段排序:
如按部门号升序,按工资降序排序 SELECT DEPTNO, JOB, ENAME FROM EMP
ORDER BY DEPTNO, SAL DESC; DEPTNO JOB ENAME ------------------------- ------------------------- ------------------------- 10 PRESIDENT KING 10 MANAGER CLARK 10 CLERK MILLER 20 ANALYST SCOTT 20 ANALYST FORD 20 MANAGER JONES 20 CLERK ADAMS 20 CLERK SMITH 30 MANAGER BLAKE 30 SALESMAN ALLEN 30 SALESMAN TURNER 30 SALESMAN WARD 30 SALESMAN MARTIN 30 CLERK JAMES
6. 带条件的查询
1)查询工作是CLERK的所有职工的姓名,职工号和部门号 SELECT ENAME, EMPNO, JOB, DEPTNO FROM EMP
WHERE JOB = ‘CLERK’; ENAME EMPNO JOB DEPTNO ------------------------- ------------------------- ------------------------- -------------------------
SMITH 7369 CLERK 20 ADAMS 7876 CLERK 20 JAMES 7900 CLERK 30 MILLER 7934 CLERK 10 2)从DEPT表中查询出部门号大于20的部门名称 SELECT DNAME, DEPTNO FROM DEPT
WHERE DEPTNO > 20; DNAME DEPTNO ------------------------- ------------------------- SALES 30 OPERATIONS 40 3)复合条件查询
查询工作是MANAGER并且工资大于1500,或者工作是SALESMAN的职工信息: SELECT EMPNO,ENAME, JOB,SAL,DEPTNO FROM EMP
WHERE SAL>1500 AND JOB = ‘MANAGER’ OR JOB = ‘SALESMAN’; EMPNO ENAME JOB SAL DEPTNO ----------------- ---------------- ----------------- ------------------ ----------------- 7499 ALLEN SALESMAN 30 1600.00 7521 WARD SALESMAN 30 1250.00 7566 JONES MANAGER 20 2975.00 7654 MARTIN SALESMAN 30 1250.00 7698 BLAKE MANAGER 30 2850.00 7782 CLARK MANAGER 10 2450.00 7844 TURNER SALESMAN 30 1500.00
7. 操作符的应用 1)BETWEEN的应用
查询工资在1000到2000之间的职工名字和工资信息。 SELECT ENAME, SAL FROM EMP
WHERE SAL BETWEEN 1000 AND 2000; ENAME SAL ------------------------------- --------------- ALLEN 1600.00 WARD 1250.00 MARTIN 1250.00 TURNER 1500.00 ADAMS 1100.00 MILLER 1300.00
2)IN
查询有7902,7566,7788三个MGR号之一的所有职工:
SELECT EMPNO, ENAME, SAL, MGR FROM EMP
WHERE MGR IN (7902,7566,7788); EMPNO ENAME ------------------------- -------------------------- 7369 SMITH 7788 SCOTT 7876 ADAMS 89-2 FORD
3)LIKE
通配符%代表任意0或多个字符。 通配符_代表任意单个字符。
查询名字以“S”开始的所有职工: SELECT ENAME FROM EMP
WHERE ENAME LIKE ‘S%’; ENAME
------------------------ SMITH SCOTT
查询名字只有4个字符的所有职工: SELECT ENAME FROM EMP
WHERE ENAME LIKE ‘_ _ _ _’; ENAME
------------------------ WARD KING FORD
4)IS NULL
查询没有管理者的所有职工: SELECT ENAME,MGR FROM EMP
WHERE MGR IS NULL; ENAME MGR ------------------------ ---------- KING
8. 单&号替代变量 1)数字变量输入:
SELECT EMPNO,ENAME,SAL FROM EMP
SAL
-------------------------- 800.00 3000.00 1100.00 3000.00 MGR
-------------------- 7902 7566 7788 7566
相关推荐: