MySQL实战技巧:多表连接查询简介(mysql多表连接查询)
MySQL中,多表连接查询是实现索引表与数据表之间的有效交换、提取、分析和关联信息的一种能力,可以提高检索效率。一般情况下,可以通过建立多表之间的联系来同时检索多个表中的记录,进而获取想要的结果,如表的查询(SELECT)特定数据项时等。下面会介绍MySQL多表连接查询相关知识。
MySQL 多表关联查询语句一般情况下包括:INNER JOIN,LEFT JOIN,RIGHT JOIN,全连接,交叉连接等。
INNER JOIN:也就是常用的等值连接,是最常用的连接类型,它可以用来连接两个以上的表,并返回满足连接条件的行。例如:
SELECT A.username,A.password,B.degree
FROM login A INNER JOIN degree B
ON A.password=B.password
LEFT JOIN:左联接只返回表A中符合连接条件的行,而不管表B是否有符合条件的行。例如:
SELECT A.id,A.username,B.detail
FROM user A LEFT JOIN info B
ON A.id=B.user_id
RIGHT JOIN:右联接只返回表B中符合连接条件的行,而不管表A是否有符合条件的行。例如:
SELECT A.username,B.brithday
FROM login A RIGHT JOIN info B
ON A.user_id=B.user_id
全连接:全连接可以产生两个表中每一行和另一个表中每一行的全部组合。例如:
SELECT A.username,B.password
FROM login A
FULL OUTER JOIN password B
ON A.user_id=B.user_id
交叉连接:交叉连接可以将A表中每一行与B表中每一行进行交叉组合,它并不使用ON子句中的任何条件去过滤,可以通过WHERE子句来滤去部分组合。例如:
SELECT A.username,A.password,B.degress
FROM login A, degree B
WHERE A.password=B.password
以上是MySQL多表关联查询的简单介绍。虽然多表关联查询的使用需要花时间学习,但是花上一点时间学习之后,可以大大提高检索效率,非常值得投入学习和使用。