联合查询
有时候需要把两张表一起查询,输出为一张表,此时可以使用联合查询。
- union 当两张表有完全相同数据时,去重
- union all 输出两张表所有数据,不去重
SELECT * FROM employee_china UNION SELECT * FROM employee_usa;
SELECT * FROM employee_china UNION ALL SELECT * FROM employee_usa;
别名
SELECT * FROM emp e,depart d where e.sal>1000 and d.depno=10;
内连接
形式1:
SELECT e.id,e.name AS '员工名',d.name AS '部门' FROM employee e,departement d and e.depno=d.id;
形式2:
SELECT e.id,e.name AS '员工名',d.name AS '部门' FROM employee e INNER JOIN departement d ON e.depno=d.id;
外连接
- 左外连接:查询出的内容以左边的表为基准
SELECT e.id,e.name AS '员工名',d.name AS '部门' FROM employee e LEFT OUTER JOIN departement d ON e.depno=d.id;
- 右外连接:查询的的内容以右边的表为基准
SELECT e.id,e.name AS '员工名',d.name AS '部门' FROM employee e right OUTER JOIN departement d ON e.depno=d.id;
排序
格式:
查询记录:
SELECT *FROM stu ORDER BY sage ASC;
聚合函数
聚合函数是用来做纵向运算的函数:
- COUNT():统计指定列不为NULL的记录行数;
- MAX():计算指定列的最大值,如果指定列是字符串类型,那么使用字符串排序运算;
- MIN():计算指定列的最小值,如果指定列是字符串类型,那么使用字符串排序运算;
- SUM():计算指定列的数值和,如果指定列类型不是数值类型,那么计算结果为0;
- AVG():计算指定列的平均值,如果指定列类型不是数值类型,那么计算结果为0;