(转)MySQL联表查询
MySQL联表查询(Join),是针对多个表的查询操作。在数据库设计中,一个完整的数据信息往往需要多个表来存储,这时候就需要使用多表查询,以获取完整的数据信息。
一、内联接(INNER JOIN)
内联接是最最常用的联接方法。用 INNER JOIN 关键字连结表,并且只输出符合连接条件的行。
SELECT
column_name(s)
FROM
table1
INNER JOIN
table2
ON
table1.column_name=table2.column_name;
二、左联接(LEFT JOIN)
左联接(left join)也叫左连接,左外连接查询是一个比较常用的查询。左联接返回包括左表中所有记录和右表中连接字段相等的记录。若右表中没有匹配的记录,那么结果中右表列的值为空。
SELECT
column_name(s)
FROM
table1
LEFT JOIN
table2
ON
table1.column_name=table2.column_name;
三、右联接(RIGHT JOIN)
右联接(right join)也叫右连接,右外连接查询与左外连接查询类似,它返回的结果集包括右表中的所有数据以及与左表连接字段相等的数据。
SELECT
column_name(s)
FROM
table1
RIGHT JOIN
table2
ON
table1.column_name=table2.column_name;
四、全联接(FULL OUTER JOIN)
全联接(full outer join)也叫全外连接,所谓全外连接,就是将左表与右表中的所有数据全部获取出来,并根据左表和右表之间的关联关系进行匹配。这样子的话,分别没有关联匹配的那些记录,我们也是要将它们全部输出出来。而这个时候,就需要用到另外一种连接方式了,那就是我们今天要讲的全外连接。
SELECT
column_name(s)
FROM
table1
FULL OUTER JOIN
table2
ON
table1.column_name=table2.column_name;
五、交叉联接(CROSS JOIN)
交叉联接(cross join) 也叫笛卡尔积(Cartesian product)联结,它是用来慢慢构建复杂查询的。
SELECT
column_name(s)
FROM
table1
CROSS JOIN
table2;
结束语
本文简要介绍了 MySQL 中常用的几种联表查询方法,但实际上还有更多更复杂的联表查询方式。对于需要多个表之间进行联合查询的情况,在实际应用中,应根据具体的业务逻辑选择适合的联表查询方式,以保证查询效率和查询结果的准确性和完整性。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:(转)mysql联表查询 - Python技术站