SQL学习笔记4:进阶之JOIN and UNION-JOIN,LEFT JOIN,RIGHT JOIN , FULL JOIN and UNION

本文深入解析SQL JOIN中的INNERJOIN、LEFTJOIN、RIGHTJOIN及FULLJOIN四种方式,并介绍UNION和UNIONALL的使用,提供实例指导。

一、 SQL JOINS用于在两个或多个表中查询。

  1. INNER JOIN: 当两个表至少存在一个匹配项时返回行。

语法规则:

SELECT column_name(s)

FROM table_name1

INNER JOIN table_name2

ON table_name1.column_name=table_name2.column_name

  1. LEFT JOIN: 即使在右表中没有匹配,仍返回左表中的所有行(返回左表中的所有行,以及右表中的匹配行)。

语法规则:

SELECT column_name(s)

FROM table_name1

LEFT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

  1. RIGHT JOIN: 即使在左表中没有匹配,仍返回右表中的所有行(返回右表中的所有行,以及左表中的匹配行)。

SELECT column_name(s)

FROM table_name1

RIGHT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

  1. FULL JOIN: 返回左表和右表中的所有行,即使两表没有匹配项。

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons

FULL JOIN Orders

ON Persons.P_Id=Orders.P_Id

ORDER BY Persons.LastName

二、UNION用于连接两个或多个SELECT语句

每一个SELECT语句需要返回相同的列数,每列的数据类型要相同。

  1. UNION: 返回连接查询的结果时,去掉重复值。

SELECT column_name(s) FROM table_name1

UNION

SELECT column_name(s) FROM table_name2

  1. UNION ALL: 返回所有查询结果。

SELECT column_name(s) FROM table_name1

UNION ALL

SELECT column_name(s) FROM table_name2

参考资料:http://w3schools.com/sql/sql_join.asp

转载于:https://www.cnblogs.com/ITGirlXiaoXiao/archive/2011/08/24/2151880.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值