mysql连接查询,备忘

mysql连接查询

在MySQL数据库查询中,经常会使用到多表查询,本篇介绍mysql中的内连接,左连接,右连接。
用作备忘。

使用两个简单的数据表做展现。
表A

Aid Avalue
1 a001
2 a002
3 a003
4 a004
5 a005

表B

Bid Bvalue
1 b001
2 b002
3 b003
4 b004
6 b006

内连接(INNER JOIN)

  • 基本语法
SELECT column1, column2, ...
FROM table1
INNER JOIN table2 ON table1.column_name = table2.column_name;
  • 示例
SELECT *
FROM A
INNER JOIN B ON A.Aid = B.Bid;

mysql连接查询,备忘_第1张图片

根据查询结果可知,INNER JOIN返回两个表中满足连接条件的匹配行,即两表同时满足ON条件的才会被展示。

左连接(LEFT JOIN)

  • 基本语法
SELECT column1, column2, ...
FROM table1
LEFT JOIN table2 ON table1.column_name = table2.column_name;
  • 示例
SELECT *
FROM A
LEFT JOIN B ON A.Aid = B.Bid;

mysql连接查询,备忘_第2张图片

根据查询结果可知,左连接以左表A为准,返回所有行,右表B没有满足ON条件的会补Null项。

右连接(RIGHT JOIN)

与左连接类似,左连接能做的事,右连接也能做,日常使用中,只是看顺手喜欢用哪种。

  • 基本语法
SELECT column1, column2, ...
FROM table1
RIGHT JOIN table2 ON table1.column_name = table2.column_name;
  • 示例
SELECT *
FROM A
RIGHT JOIN B ON A.Aid = B.Bid;

mysql连接查询,备忘_第3张图片

可以看到,此时就是以右表B为主,返回所有数据,左表A不满足条件的补Null。

你可能感兴趣的:(数据库,mysql,数据库)