内连接、左连接、右连接图示及语法

一、内连接

  • 同时将两表作为参考对象,根据ON(或WHERE)后给出的两表的条件将两表连接起来。结果是满足连接条件的交集即AB={xxAxB}
  1. 显式内连接(使用JOIN... ON关键字)
     SELECT columns
     FROM table1
     JOIN table2
     ON table1.column_name = table2.column_name;

  2.隐式内连接(使用WHERE子句)

     SELECT columns
     FROM table1, table2
     WHERE table1.column_name = table2.column_name;

二、左(外)连接

  • 以左表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将左表所有的查询信息列出,而右表只列出ON后条件与左表满足的部分,其余用NULL填充

 

     SELECT columns
     FROM table1
     LEFT JOIN table2
     ON table1.column_name = table2.column_name;

三、右(外)连接

  • 以右表为基础,根据ON后给出的两表的条件将两表连接起来。结果会将右表所有的查询信息列出,而左表只列出ON后条件与右表满足的部分,其余用NULL填充。
     SELECT columns
     FROM table1
     RIGHT JOIN table2
     ON table1.column_name = table2.column_name;

四、外连接

  • 在内连接的基础上,补充上左表和右表未匹配的数据。AB={xxAxB}
     SELECT columns
     FROM table1
     FULL JOIN table2
     ON table1.column_name = table2.column_name;

注意:MYSQL没有FULL JOIN

五、图示

posted @ 2024-10-24 16:28  珂k  阅读(31)  评论(0编辑  收藏  举报