| 多表关系一对一案例:用户与用户详情的关系
关系:	一对一关系,多用在单表拆分,将一个表的基础字段放在一张表中,其他
详情字段放在另一张表中,以提升操作效率。
实现:在任意一方加入外键,关联另一方主键,并且设置外键为唯一的(UNIQUE)。
 一对多(多对一)案例:部门与员工
关系:一个部门对应多个员工,一个员工对应一个部门。
实现:在多的一方建立外键,指向一的主键。
 多对多案例:学生与课程
关系:一个学生可以选多个课程,一个课程可以供多个学生选择。	
实现:建立第三张中间表,中间表至少包含两个外键,关联两方的主键。
 多表查询内连接
 外连接分为左连接、右连接和全连接				左连接:取左表A全部和A与B的交集
  右连接:取右表B全部和A与B的交集
 
  全连接:FULL OUTER JOIN 关键字只要左表(table1)和右表(table2)其中一个表中存在匹配,则返回行.FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。
 
 
 自连接:可以是内连接,也可以是外连接。必须取别名语法:SELECT 字段列表 FROM 表A  别名a  join 表A  别名b ON  条件:
 联合查询UNION 操作符用于合并两个或多个 SELECT 语句的结果集。请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必 须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
  UNION 语法:SELECT column_name(s) FROM table1 
 			 UNION
			 SELECT column_name(s) FROM table2;
 注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。 UNION ALL 语法:SELECT column_name(s) FROM table1
				UNION ALL
			    SELECT column_name(s) FROM table2;
 注释:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。 子查询——嵌套查询SELECT * FROM t1 WHERE column1=(SELECT column1 FROM t2),
 子查询外部语句可以是INSERT/UPDATE/DELETE/SELECT中任何一个。根据结果,子查询分为标量子查询(结果为单个值)、列子查询(结果为一列)、行子查询(结果为一行)、表子查询(结果为多行多列)。
 |