SQL——表连接JOIN

JOIN - 用于根据两个或多个表中的列之间的关系,从这些表中查询数据。
    语法:SELECT columnName(s) FROM tableName1 JOIN tableName2 -- 查询出n1*n2行,无相交条件
          SELECT columnName(s) FROM tableName1 JOIN tableName2 WHERE tableName1.col1=tableName2.col2 -- 查询出max(n1,n2)行,有相交条件


INNER JOIN - 表中存在至少一个匹配时,返回行。
    语法:SELECT columnName(s) FROM tableName1 INNER JOIN tableName2 ON tableName1.col1=tableName2.col2 -- 查询出max(n1,n2)行。
    与SELECT columnName(s) FROM tableName1 JOIN tableName2 WHERE tableName1.col1=tableName2.col2相同


LEFT JOIN - 从左表返回所有行,即使右表中没有匹配的行
    语法:SELECT columnName(s) FROM tableName1 LEFT JOIN tableName2 ON tableName1.col1=tableName2.col2 -- 查询出n1行。


RIGHT JOIN - 从右表返回所有行,即使左表中没有匹配的行
    语法:SELECT columnName(s) FROM tableName1 RIGHT JOIN tableName2 ON tableName1.col1=tableName2.col2 -- 查询出n2行。


FULL JOIN - 从左表和右表那里返回所有的行
    语法:SELECT columnName(s) FROM tableName1 FULL JOIN tableName2 ON tableName1.col1=tableName2.col2 -- 查询出t1和t2匹配的行n+(n1-n)+(n2-n)

posted @ 2019-12-13 15:39  !O0O!  阅读(882)  评论(0编辑  收藏  举报