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

一、 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/p/2151880.html