1、多表查询
当需要查询的数据在多张表中,这种查询叫多表查询。
select 字段 from 表1,表2 where 条件。
注意:一定要where条件,否则会产生笛卡乐积。
练习1:班级编号是2086的属于哪所学校,查出学校的名字。
练习2:查询出每个班级的班主任的姓名,教授的课程。
2、取别名
给字段取别名,提高查询结果的可读性。
select 字段 as 别名 from 表名;
给表取别名,可以精简SQL语句。
select 别名.字段 from 表名 as 别名;
3、分组查询
select 字段 from 表名 group by 字段;
一般配合组函数使用
练习3:查询出每个学校班级的数量
练习4:查询出学校id为1006的班级的数量
当需要对分组后的数据进行过虑,having 相当于 select 的 where 子句。
语句的顺序:
select 组函数(字段)
from 表名
where 条件
group by 分组标准
having 条件
order by 排序标准
4、子查询
把一个查询的结果当作另一个查询的基础,这种查询叫子查询,原理就是把一个查询的结果当作一张虚拟的内存表。
练习5:查询出学号为4096的学生的五名任课老师的姓名。
select 字段 from [select] where 条件;
select tr.tch_id,tr.name from student as s,teaching as tg ,t