数据库技术专栏

MySql常见语句

2019-08-18  本文已影响0人  huxt

1.INNER JOIN(内连接)

在上面图中,products表中的productLine列参考引用productlines表的productline列。products表中的productLine列称为外键列。

通常,连接具有外键关系的表,如产品线(productlines)和产品(products)表。现在,如果想获取以下数据 -

获取products表中的productCode和productName列的值。

获取productlines表产品线的描述 -textDescription列的值。

为此,需要通过使用INNER JOIN子句根据productline列匹配行来从两个表中查询选择数据,如下所示:

由于两个表的连接列是使用相同一个列:productline,因此可以使用以下语法:

MySQL INNER JOIN GROUP BY子句

MySQL INNER JOIN使用等于以外的运算符

2.LEFT JOIN(左连接)

左连接LEFT JOIN的含义就是求两个表的交集外加左表剩下的数据。依旧从笛卡尔积的角度讲,就是先从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录(见最后三条)。

3.RIGHT JOIN(右连接)

同理右连接RIGHT JOIN就是求两个表的交集外加右表剩下的数据。再次从笛卡尔积的角度描述,右连接就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上右表中剩余的记录(见最后一条)。

4.OUTER JOIN(外连接)

外连接就是求两个集合的并集。从笛卡尔积的角度讲就是从笛卡尔积中挑出ON子句条件成立的记录,然后加上左表中剩余的记录,最后加上右表中剩余的记录。另外MySQL不支持OUTER JOIN,但是我们可以对左连接和右连接的结果做UNION操作来实现。

5.LEFT JOIN EXCLUDING INNER JOIN(左连接-内连接)

6.RIGHT JOIN EXCLUDING INNER JOIN(右连接-内连接)

7.OUTER JOIN EXCLUDING INNER JOIN(外连接-内连接)

上一篇 下一篇

猜你喜欢

热点阅读