select 字段列表 from 表1 [inner] join 表2 on 连接条件…;eg:查询同一个老师教授的学生的姓名、成绩。
inner可以省略。
2)外连接
左外连接:查询左表所有数据,以及交集部分的数据。
select 字段列表 from 表1 left [outer] join 表2 on 条件…;相当于查询左表(表1)的所有数据,包含表1 表2的交集部分的数据。
eg:查询score的所有信息,以及对应课程名称。
右外连接:查询右表所有数据,以及交集部分的数据。
select 字段列表 from 表1 right [outer] 表2 on 条件…;相当于查询右表(表2)的所有数据,包含表1 表2的交集部分的数据。
eg:查询course表的所有信息和所对应的得分。
注意:左连接和右连接可以相互转换。
3)自连接:当前表与自身的连接查询,自连接必须使用表别名。
select 字段列表 from 表1 别名1 join 表1 别名2 on 条件…;自连接查询,可以是内自连接查询(只包含交集),也可以是外自连接查询(单独的一张表)。
2.联合查询
union查询,就是把多次查询的结果合并起来,形成一个新的查询结果。
select 字段列表 from 表1…
union [all]
select 字段列表 from 表2…;注意:直接合并会出现重复值,去掉all就会把查复结果去掉。
查询 字段不同是不会进行合并的(要求字段列表和字段类型保持一致)。
3.子查询
sql语句中嵌套select 语句,成为嵌套查询,又称为子查询。
select * from t1 where column1 =(select column1 from t2);子查询外部的语句可以是insert/update/delete/select的任何一个。
根据子查询结果不同,可分为