MySQL之SQL的连接查询
2014-10-23 10:57
531 查看
交叉连接(cross join):交叉连接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉连接也称作笛卡尔积。
EX:
内连接(inner join):内连接返回链接表中符合连接条件和查询条件的数据行。(所谓的链接表就是数据库在做查询形成的中间表)。
EX:
外连接不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。
外连接分三类:左外连接(left outer join)、右外连接(right outer join)和全外连接(full outer join)。其中,outer关键字可省略。
三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行。
》left join 或 left outer join:左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
EX:
附:
union:
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
参考:
http://blog.sina.com.cn/s/blog_672111bd0100n2nd.html
EX:
select o.id, o.order_number, c.id, c.name from orders o cross join customers c where o.id=1;
内连接(inner join):内连接返回链接表中符合连接条件和查询条件的数据行。(所谓的链接表就是数据库在做查询形成的中间表)。
EX:
select o.id, o.order_number, c.id, c.name from customers c inner join orders o on c.id=o.customer_id;外连接(outer join):
外连接不但返回符合连接和查询条件的数据行,还返回不符合条件的一些行。
外连接分三类:左外连接(left outer join)、右外连接(right outer join)和全外连接(full outer join)。其中,outer关键字可省略。
三者的共同点是都返回符合连接条件和查询条件(即:内连接)的数据行。
》left join 或 left outer join:左向外连接的结果集包括LEFT OUTER子句中指定的左表的所有行,而不仅仅是连接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。
EX:
select o.id, o.order_number, o.customer_id, c.id, c.name from orders o left outer join customers c on c.id=o.customer_id;》right join 或 right outer join:右向外连接是左向外连接的反向连接。将返回右表的所有行。如果右表的某行在左表中没有匹配行,则将为左表返回空值。
select o.id, o.order_number, o.customer_id, c.id, c.name from orders o right outer join customers c on c.id=o.customer_id;》full join 或 full outer join:全外连接返回左表和右表中的所有行。当某行在另一个表中没有匹配行时,则另一个表的选择列表列包含空值。如果表之间有匹配行,则整个结果集行包含基表的数据值。MySQL不支持全外连接。
附:
union:
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同。
select column_name(s) from table_name1 union select column_name(s) from table_name2
参考:
http://blog.sina.com.cn/s/blog_672111bd0100n2nd.html
相关文章推荐
- mysql,SQL标准,多表查询中内连接,外连接,自然连接等详解之查询结果集的笛卡尔积的演化
- mysql sql技巧: 子查询改为连接查询&&涉及多个表的删除和更新
- mysql,sql的Java连接方法(简单应用)执行sql查询与预处理
- MySQL——查询sql总结:简单查询、连接查询、子查询
- php学习笔记(二)php与mysql连接与用php发送SQL查询
- MySQL——查询sql总结:简单查询、连接查询、子查询
- SQL连接查询
- SQL查询中的连接
- SQL Sql连接查询和联合查询
- Sql连接查询(转)
- Questions:连接两个表进行查询:可以输入或不输入查询条件的sql 语句
- SQL连接查询
- SQL的3种连接查询
- SQL左连接攻略--Mysql学习心得(符合sql标准)
- SQL连接查询深度探险
- 通用SQL数据库查询语句/连接查询/多表连接查询 sql小例子
- MySQL、Oracle、MS SQLserver限制查询所返回的行数
- SQL字查询与自连接
- SQL连接查询介绍
- SQL连接查询