JOIN用法

简介: 在实际的数据库应用中,我们经常需要从多个数据表中读取数据,这时我们就可以使用SQL语句中的连接(JOIN),在两个或多个数据表中查询数据。

@TOC
在实际的数据库应用中,我们经常需要从多个数据表中读取数据,这时我们就可以使用SQL语句中的连接(JOIN),在两个或多个数据表中查询数据。

本文介绍一下以下七种JOIN用法:

INNER JOIN(内连接)

  • 如果表中有至少一个匹配,则返回行。
  • INNER JOIN与JOIN是相同的。

INNER JOIN

SELECT * 
FROM Table_A A
INNER JOIN Table_B B
ON A.Key = B.Key

LEFT JOIN(左连接)

  • 即使右表中没有匹配,也从左表返回所有的行。

LEFT JOIN

SELECT * 
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key

RIGHT JOIN(右连接)

  • 即使左表中没有匹配,也从右表返回所有的行。

RIGHT JOIN

SELECT * 
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key

FULL OUTER JOIN(外连接)

  • 只要其中一个表中存在匹配,则返回行。
  • 在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。

FULL OUTER JOIN

SELECT * 
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key

LEFT EXCLUDING JOIN INNER JOIN(左连接排除内连接结果)

LEFT EXCLUDING JOIN

SELECT *  
FROM Table_A A
LEFT JOIN Table_B B
ON A.Key = B.Key
WHERE B.Key IS NULL

RIGHT EXCLUDING JOIN INNER JOIN(右连接排除内连接结果)

RIGHT EXCLUDING JOIN

SELECT * 
FROM Table_A A
RIGHT JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL

OUTER EXCLUDING JOIN INNER JOIN(外连接排除内连接结果)

OUTER EXCLUDING JOIN

SELECT * 
FROM Table_A A
FULL OUTER JOIN Table_B B
ON A.Key = B.Key
WHERE A.Key IS NULL OR B.Key IS NULL
相关文章
|
4月前
|
SQL Oracle 关系型数据库
各种JOIN的区别
各种JOIN的区别
129 2
|
2月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
47 2
|
2月前
|
关系型数据库 数据挖掘 数据库
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
解析数据库联结:应用与实践中的 INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL OUTER JOIN 与 CROSS JOIN
66 1
|
4月前
|
SQL 关系型数据库 MySQL
JOIN的用法
【8月更文挑战第2天】JOIN的用法
120 4
|
4月前
|
存储 关系型数据库 MySQL
mysql中的left join、right join 、inner join的详细用法
【8月更文挑战第16天】在MySQL中,`INNER JOIN`、`LEFT JOIN`与`RIGHT JOIN`用于连接多表。`INNER JOIN`仅返回两表中匹配的行;`LEFT JOIN`保证左表所有行出现于结果中,右表无匹配时以NULL填充;`RIGHT JOIN`则相反,保证右表所有行出现于结果中。例如,查询学生及其成绩时,`INNER JOIN`仅显示有成绩的学生;`LEFT JOIN`显示所有学生及他们对应的成绩,无成绩者成绩列为空;`RIGHT JOIN`显示所有成绩及对应学生信息,无学生信息的成绩条目则为空。
101 1
|
7月前
|
开发框架 .NET C#
C#学习相关系列之Linq用法---group和join相关用法(三)
C#学习相关系列之Linq用法---group和join相关用法(三)
247 1
|
SQL 开发框架 .NET
linq中left join和inner join的正确用法
linq中left join和inner join的正确用法
join()与split()函数的区别
join()与split()函数的区别
167 0
join()与split()函数的区别
|
开发者 Python
Join 方法 | 学习笔记
快速学习 Join 方法
|
SQL 语音技术 数据库
SQL基础【十五、join、Inner join、Left join、Right join、Full join】
SQL基础【十五、join、Inner join、Left join、Right join、Full join】
162 0
SQL基础【十五、join、Inner join、Left join、Right join、Full join】