SQL 连接(JOIN)

SQL JOIN #

SQL JOIN 子句用于把来自两个或多个表的行结合起来,基于这些表之间的共同字段。

最常见的 JOIN 类型:SQL INNER JOIN(简单的 JOIN)。 SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。

“SQL Join”

JOIN演示 #

sqlite> select domains.id,domains.domainname,logs.google,logs.baidu from domains inner join logs on domains.id=logs.id;
ID  DomainName        google  baidu
--  ----------------  ------  -----
1   aisoc.cn          1003    2075
2   ado.ink           1770    1660
3   nrdoc.com         1496    2621
4   getos.org         1864    2745
5   litiaotiao.cn     1574    2295
6   dotbbq.com        2927    2448
7   lyq.wiki          2543    395
8   les.moe           1166    350
9   regex.in          945     2217
10  wmts.top          2010    1746
11  sharpbang.cn      714     2690
12  blbl.dev          919     1324
13  raspi.in          1532    2424
14  pornie.in         2552    2840
15  aosp.me           1724    2267
16  bailuyuan.org     775     1534
17  linuxuc.com       2483    1155
18  ustv.xyz          1616    390
19  unixetc.com       1467    348
20  ciux.org          1394    944
21  avlist.top        2042    932
22  suopo.net         1531    2344
23  vbar.xyz          1975    2530
24  ltecn.com         2466    2628
25  pornie.top        2561    2076
26  sjcs.top          710     2094
27  imagemagick.top   2980    1627
28  oppa.top          1187    938
29  kodis.top         1638    2001
30  vpshz.top         999     1087
31  smdm.top          2701    2843
32  commandline.top   2123    2939
33  wxtx.top          2420    188
34  kjzx.top          1468    1043
35  aido.cc           1014    906
36  ustv.top          2167    1985
37  colorhexcode.top  2246    849
38  rgbs.top          2872    1685
39  autohotkey.top    1330    2495
40  opensuse.top      774     2436
41  qgis.top          2564    912
42  hugotheme.top     749     2977
43  zjq.xyz           2880    137
44  alair.cn          1698    2486
45  ymqd.net          2501    1089
46  nasplus.cn        2662    1891
47  manjushri.cn      546     2675
48  pushto.cn         2231    2769
49  gfwlist.cn        2812    1358
50  byhzg.cn          2196    1559
51  guwendaquan.cn    2234    2770
52  mua.wiki          2147    2425
sqlite>

不同的 SQL JOIN #

在我们继续讲解实例之前,我们先列出您可以使用的不同的 SQL JOIN 类型:

  • INNER JOIN:如果表中有至少一个匹配,则返回行
  • LEFT JOIN:即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN:即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN:只要其中一个表中存在匹配,则返回行