MySql常见语句

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(外连接-内连接)

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。