多数SQL查询只包含从一个或多个表中返回数据的单条SELECT语句。但是,SQL也允许执行多个查询(多条SELECT语句),并将结果作为一个查询结果集返回。这些组合查询通常称为并(union)或复合查询(compound query)
主要有两种情况需要使用联结
• 在一个查询中从不同的表返回结构数据;
• 对一个表执行多个查询,按一个查询返回数据。
提示:组合查询和多个WHERE条件多数情况下,组合相同表的两个查询所完成的工作与具有多个WHERE子句条件的一个查询所完成的工作相同。换句话说,任何具有多个WHERE子句的SELECT语句都可以作为一个组合查询. SQL最强大的功能之一就是能在数据查询的执行中联结(join)表。联结是利用SQL的SELECT能执行的最重要的操作,很好地理解联结及其语法是学习SQL的极为重要的部分。”
SELECT 课程号, 课程名 FROM course
UNION
SELECT 课程号, 课程名 FROM course1.
表的联结(join): 各表之间建立起联系,并最终联系在一起
交叉联结(cross join) 内联结(inner join) 左联结(left join) 右联结(right join) 全联结(full join)
表和表之间通过列产生关系.涉及到多个表查询用联结。
- 交叉联结(cross join):行数是两张表行数的笛卡尔积 类似于矩阵的运算规律
2. 内联结(inner join):查找出同时存在于两张表的数据;学生表和成绩表重合的地方是学号让两张表产生匹配,之后交叉联结;on表示两个表通过on后面的学号产生关系
3. 外联结(outter join)许多联结将