SQL多表查询inner join用法

SQL多表查询inner join用法

SQL多表查询inner join用法 #

  • inner join(等值连接):只返回两个表中联结字段相等的行。
  • left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录。
  • right join(右联接):返回包括右表中的所有记录和左表中联结字段相等的记录。

INNER JOIN 语法: #

INNER JOIN 连接两个数据表的用法: #

SELECT * FROM 表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号

INNER JOIN 连接三个数据表的用法: #

SELECT * FROM (表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号

INNER JOIN 连接四个数据表的用法: #

SELECT * FROM ((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) 
INNER JOIN 表4 ON Member.字段号=表4.字段号

INNER JOIN 连接五个数据表的用法: #

SELECT * FROM (((表1 INNER JOIN 表2 ON 表1.字段号=表2.字段号) INNER JOIN 表3 ON 表1.字段号=表3.字段号) 
INNER JOIN 表4 ON Member.字段号=表4.字段号) INNER JOIN 表5 ON Member.字段号=表5.字段号

连接六个数据表的用法:略,与上述联接方法类似!

注意事项: #

在输入字母过程中,一定要用英文半角标点符号,单词之间留一半角空格;

在建立数据表时,如果一个表与多个表联接,那么这一个表中的字段必须是 “数字” 数据类型,而多个表中的相同字段必须是主键,而且是 “自动编号” 数据类型。否则,很难联接成功。

代码嵌套快速方法:如,想连接五个表,则只要在连接四个表的代码上加一个前后括号(前括号加在 FROM 的后面,后括号加在代码的末尾即可),然后在后括号后面继续添加 “INNER JOIN 表名 X ON 表 1. 字段号 = 表 X. 字段号” 代码即可,这样就可以无限联接数据表了。)

SQL多表查询inner join实例 #

sqlite> SELECT nrltedis.Origin,
   ...>        nrltedis.Destination,
   ...>        nrbaseinfo.gnodebid,
   ...>        nrbaseinfo.[NR DUcellID],
   ...>        ltebaseinfo.eNodeBID,
   ...>        ltebaseinfo.CELLID,
   ...>        ltebaseinfo.PCI,
   ...>        ltebaseinfo.TAC
   ...>   FROM (
   ...>            nrltedis
   ...>            INNER JOIN
   ...>            nrbaseinfo ON nrltedis.Origin = nrbaseinfo.gNodebID_CellID
   ...>        )
   ...>        INNER JOIN
   ...>        ltebaseinfo ON nrltedis.Destination = ltebaseinfo.[4gindex];
Origin         Destination      gNodebID  NR DUcellID  eNodeBID  CELLID  PCI  TAC
-------------  ---------------  --------  -----------  --------  ------  ---  -----
92329739_1026  460_09_99906_99  92329739  2            99906     99      0    97976
sqlite>