MySQL 常用的表关联:左连接、右连接、内连接、全连接

假设有两个表

  1. tb_user 用户表:包含字段 user_id(用户ID)、等字段
  2. tb_order 订单表:包含字段 order_id、user_id(用户ID)、等字段

左连接 左表中的数据全部显示出来,只显示右表中符合条件的记录,不符合的显示为 NULL

SELECT
    * 
FROM
    tb_order a
    LEFT JOIN tb_usert b ON a.user_id = b.user_id;

右连接:右表中的数据全部显示出来,只显示左表中符合条件的记录,不符合的显示为 NULL

SELECT
    * 
FROM
    tb_order a
    RIGHT JOIN tb_usert b ON a.user_id = b.user_id;

内连接:两个表的交集,即两个表中都满足的条件的记录

SELECT
    * 
FROM
    tb_order a
    INNER JOIN tb_usert b ON a.user_id = b.user_id;

全连接:即使用 UNION 连接左连接和右连接

SELECT 
FROM
    tb_order a
    LEFT JOIN tb_usert b ON a.user_id = b.user_id UNION
SELECT 
FROM
    tb_order a
    RIGHT JOIN tb_usert b ON a.user_id = b.user_id;
SELECT 
FROM
    tb_order a
    RIGHT JOIN tb_usert b ON a.user_id = b.user_id UNION
SELECT 
FROM
    tb_order a
    LEFT JOIN tb_usert b ON a.user_id = b.user_id;

猜你喜欢

转载自www.cnblogs.com/WanDa92632/p/12515040.html
今日推荐