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>