数据库所有操作总结1课案
查询语句
基本数据查询
select 内容 from 表名;
select distinct job from emp;去除重复行
限定查询(查询满足条件的行)
SELECT * | 列名FROM 表名WHERE 条件;
SELECT empno,ename,commFROM empWHERE comm IS NOT NULL;
限定查询----IS NULL和IS NOT NULL的使用
SELECT empno,ename,commFROM empWHERE comm IS NULL查询谁没有奖金
限定查询----AND 的使用
查询工资大于1500,并且可以领取奖金的雇员
SELECT empno,ename,sal,commFROM EMPWHERE sal 1500 AND comm IS NOT NULL;
限定查询----OR 的使用
查询工资大于1500和可以领取奖金的雇员
SELECT empno,ename,sal,commFROM EMPWHERE sal 1500 OR comm IS NOT NULL;
限定查询----使用NOT对条件整体取反
查询工资不大于1500并且不能领取资金的雇员
SELECT empno,ename,sal,commFROM empWHERE NOT (sal1500 AND comm IS NOT NULL);
限定查询----BETWEEN ... AND...的使用
查询基本工资大于等于1500并且小于等于3000的雇员
SELECT empno,ename,sal,commFROM empWHERE sal BETWEEN 1500 AND 3000
限定查询----IN 的使用
查询出雇员编号是7369,7499,7521的雇员的具体信息
SELECT *FROM empWHERE empno IN(7369,7499,7521);
限定查询----NOT IN 的使用
查询出雇员编号不是7369,7499,7521的雇员的具体信息
SELECT *FROM empWHERE empno NOT IN(7369,7499,7521);
限定查询----LIKE 的使用
查询中雇员的名字第二个字符是M的雇员信息
SELECT empno,ename,comm,salFROM empWHERE ename LIKE _M%;
说明: _ 匹配一个字符,% 匹配0个或多个字符
限定查询----LIKE 匹配日期
查询1982年入职的所有雇员的信息
SELECT *FROM empWHERE hiredateLIKE %82%
限定查询----LIKE 匹配数字
查询工资中包含 5 的雇员信息
SELECT *FROM empWHERE salLIKE %5%
对结果排序----ORDER BY
带有ORDER BY 子句的SQL语句基本格式
SELECT 列... FROM 表 WHERE 条件 ORDER BY 列
查询员工资大于1500的信息,按工资排序
SELECT * FROM emp WHERE sal1500 ORDER BY sal
查询工资大于1500员工的信息,按工资降序,按雇佣日期升序排序
SELECT * FROM emp WHERE sal1500ORDER BY salDESC,hiredate ASC
说明: ASC 排序,DESC降序,默认ASC
左、右外连接
查询员工编号,姓名,所在部门号,部门名称,将没有员工的部门也显示出来
SELECT e.ename,d.deptno,d.dnameFROM emp e,dept dWHERE e.deptno(+)=d.deptno;
注:(+)在左边,表示右连接,会列出右表中出现但是没有在左表中出现的行
交叉连接(CROSS JOIN):用来产生笛卡尔积的
SELECT * FROM emp CROSS JOIN dept;
自然连接(NATURAL JOIN):自动进行关联字段的匹配
SELECT * FROM emp NATURAL JOIN dept;
USING子句:直接指定操作关联列
SELECT * FROM emp JOIN dept USING(deptno);
ON 子句:用户自己编写连接条件
SELECT * FROM empJOIN deptON emp.deptno=dept.deptno;
RIGHT JOIN:右外连接
SELECT e.empno,e.ename,d.deptno,d.dname FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;
子查询---IN
原创力文档

文档评论(0)