1.多表关系:①一对一:在一方创建主键,在另一边创建外键。
②一对多:在一的一方创建主键,在多的一方创建外键。
③多对多:创建第三张中间表,至少有2个字段来进行关联。
2.多表查询时需要删除无效的笛卡尔积。
3.多表查询:①连接查询:a.内连接{取两表交集}。
b.外连接:Ⅰ、左外连接{左表所有+两表交集}。
Ⅱ、右外连接{右表所有+两表交集}。
c.自连接{自身与自身连接,起别名}。
②子查询。
4.①隐式内连接:select * from 表A 别名A,表B 别名B where 条件;
②显式内连接:select * from 表A inner join 表B on 条件;
5.左外连接:select * from 左表 left join 右表 on 条件;
select * from 左表 left outer join 右表 on 条件;
6.右外连接:select * from 左表 right join 右表 on 条件;
select * from 左表 right outer join 右表 on 条件;
7.①自连接查询:select * from 表A 别名A,表A 别名B where 条件;
②自连接查询既可以是内连接查询,也可以是外连接查询。
8.①不去除重复值:select * from 表名 union all select * from 表名;
②去除重复值:select * from 表名 union select * from 表名;
③联合查询的列数、字段类型必须一致。
9.①SQL语句中嵌套Select语句称为嵌套查询,又称为子查询。
②内部只能是select,外部可以是select、insert、update、delete。
③按结果不同分为:Ⅰ、标量子查询、
Ⅱ、列子查询、
Ⅲ、行子查询、
Ⅳ、表子查询。
④按位置不同分为:Ⅰ、where之后、
Ⅱ、from之后、
Ⅲ、select之后。