多表的查询,会涉及到Join操作
总结一下查询的种类和使用方法。
准备数据:
假设有两个表,学生和班级。
create table Stu ( Stu_no varchar(10), Class_no nvarchar(10) primary key(Stu_no) ) create table Class( Class_no nvarchar(10), Class_teacher nvarchar(10) primary key(Class_no) ) insert into Stu values ('1','电系'),('2','火系'),('3','水系') insert into Class values ('金系','皮卡丘'),('草系','妙蛙种子'),('水系','蚊香蝌蚪')
这里的数据,学生表1,2号的班级电系,火系,班级表中没有
班级表草系,金系,在学生表中也不存在
sql的join可以分为内连接(inner join),外连接(outer join)、交叉连接(cross join)
其中inner和outer语法中需要加on, on后为连接条件,按照这个条件来进行筛选
cross语法不需要加on
1.inner join 内连接
看成两个表的并集,要求每个表中每一行都匹配,不匹配的行会被排除