SQL 各种JOIN

SQL join 用于根据两个或者多个表之间的联系,从这些表汇总查询数据

Join 和 Key
有时我们为得到完整的结果,我们需要从两个或者更多的表中获取结果,我们需要执行join,,
数据库中的表都是可以通过键将彼此联系起来,主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的,在表中,每个主键都是唯一的,这样做的目的是为了不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起,,

下面有czhenya001,czhenya002 两表
SQL 各种JOIN_第1张图片
查询语句:
通过引用两个表的方式,获取表中数据

SELECT * 
FROM czhenya001,czhenya002
WHERE czhenya001.Id = czhenya002.id_ex

我们也可以使用 Join来从两个表中获取数据(结果是一样的)

SELECT * 
FROM czhenya001
JOIN czhenya002
WHERE czhenya001.Id = czhenya002.id_ex

SQL 各种JOIN_第2张图片
不同的 SQL JOIN

除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。
下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

  • JOIN: 如果表中有至少一个匹配,则返回行

    LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行

    RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行

    FULL JOIN: 只要其中一个表中存在匹配,就返回行

SQL INNER JOIN
在表中存在至少一个匹配时,INNER JOIN 关键字返回行。
INNER JOIN 语法(INNER JOIN 与 JOIN 是相同的

SELECT *(列名)
FROM 表名1
INNER JOIN 表名2 
ON 表名1.列名1=表名2.列名2

SQL LEFT JOIN
表1 那里返回所有的行,即使在右表2中没有匹配的行。
LEFT JOIN 语法

SELECT 列名
FROM1
LEFT JOIN2
ON 表名1.列名1=表名2.列名2

注:在某些数据库中, LEFT JOIN 称为 LEFT OUTER JOIN。

SQL FULL JOIN
只要其中某个表存在匹配,FULL JOIN 关键字就会返回行。
FULL JOIN 语法

SELECT 列名
FROM1
FULL JOIN2
ON 表名1.列名1=表名2.列名2

我们还可以就对查询出来的记录进行排序,,只要在每句查询语句的后面加上

ORDER BY 列名 //正序
ORDER BY 列名 DESC //逆序

这里的列名需要是上面要显示列名中的一个

你可能感兴趣的:(ジ﹋★☆『,SQL...』)