标签:多表 author 菜鸟 runoob 关联 RUNOOB COM 查询 +-------------+-----------------+----------
1 连接种类 2 INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录。 3 LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。 4 RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录 5 OUT JOIN 全连接 将左边表数据和右边表数据全部匹配出来 6 --------------------------------------------------------------------------------------- 7 --------------------------------------------------------------------------------------- 8 9 -- 示例 10 SELECT * FROM tcount_tbl; 11 +---------------+--------------+ 12 | runoob_author | runoob_count | 13 +---------------+--------------+ 14 | 菜鸟教程 | 10 | 15 | RUNOOB.COM | 20 | 16 | Google | 22 | 17 +---------------+--------------+ 18 SELECT * from runoob_tbl; 19 +-----------+---------------+---------------+-----------------+ 20 | runoob_id | runoob_title | runoob_author | submission_date | 21 +-----------+---------------+---------------+-----------------+ 22 | 1 | 学习 PHP | 菜鸟教程 | 2017-04-12 | 23 | 2 | 学习 MySQL | 菜鸟教程 | 2017-04-12 | 24 | 3 | 学习 Java | RUNOOB.COM | 2015-05-01 | 25 | 4 | 学习 Python | RUNOOB.COM | 2016-03-06 | 26 | 5 | 学习 C | FK | 2017-04-05 | 27 +-----------+---------------+---------------+-----------------+ 28 29 --------------------------------------------------------------------------------------- 30 --------------------------------------------------------------------------------------- 31 32 INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录 33 SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a 34 INNER JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; 35 +-------------+-----------------+----------------+ 36 | a.runoob_id | a.runoob_author | b.runoob_count | 37 +-------------+-----------------+----------------+ 38 | 1 | 菜鸟教程 | 10 | 39 | 2 | 菜鸟教程 | 10 | 40 | 3 | RUNOOB.COM | 20 | 41 | 4 | RUNOOB.COM | 20 | 42 +-------------+-----------------+----------------+ 43 -- 也可以这样使用 44 SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author; 45 +-------------+-----------------+----------------+ 46 | a.runoob_id | a.runoob_author | b.runoob_count | 47 +-------------+-----------------+----------------+ 48 | 1 | 菜鸟教程 | 10 | 49 | 2 | 菜鸟教程 | 10 | 50 | 3 | RUNOOB.COM | 20 | 51 | 4 | RUNOOB.COM | 20 | 52 +-------------+-----------------+----------------+ 53 --------------------------------------------------------------------------------------- 54 --------------------------------------------------------------------------------------- 55 56 LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录。 57 SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a LEFT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; 58 +-------------+-----------------+----------------+ 59 | a.runoob_id | a.runoob_author | b.runoob_count | 60 +-------------+-----------------+----------------+ 61 | 1 | 菜鸟教程 | 10 | 62 | 2 | 菜鸟教程 | 10 | 63 | 3 | RUNOOB.COM | 20 | 64 | 4 | RUNOOB.COM | 20 | 65 | 5 | FK | NULL | 66 +-------------+-----------------+----------------+ 67 68 -- 也可以这样 69 SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a, tcount_tbl b WHERE a.runoob_author = b.runoob_author(+); (+在那边就显示那边的null) 70 +-------------+-----------------+----------------+ 71 | a.runoob_id | a.runoob_author | b.runoob_count | 72 +-------------+-----------------+----------------+ 73 | 1 | 菜鸟教程 | 10 | 74 | 2 | 菜鸟教程 | 10 | 75 | 3 | RUNOOB.COM | 20 | 76 | 4 | RUNOOB.COM | 20 | 77 | 5 | FK | NULL | 78 +-------------+-----------------+----------------+ 79 --------------------------------------------------------------------------------------- 80 --------------------------------------------------------------------------------------- 81 82 83 RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录 84 85 RIGHT JOIN 86 SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a RIGHT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; 87 +-------------+-----------------+----------------+ 88 | a.runoob_id | a.runoob_author | b.runoob_count | 89 +-------------+-----------------+----------------+ 90 | 1 | 菜鸟教程 | 10 | 91 | 2 | 菜鸟教程 | 10 | 92 | 3 | RUNOOB.COM | 20 | 93 | 4 | RUNOOB.COM | 20 | 94 | NULL | NULL | 22 | 95 +-------------+-----------------+----------------+ 96 -- 也可以这样 97 SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a , tcount_tbl b ON a.runoob_author(+) = b.runoob_author; 98 +-------------+-----------------+----------------+ 99 | a.runoob_id | a.runoob_author | b.runoob_count | 100 +-------------+-----------------+----------------+ 101 | 1 | 菜鸟教程 | 10 | 102 | 2 | 菜鸟教程 | 10 | 103 | 3 | RUNOOB.COM | 20 | 104 | 4 | RUNOOB.COM | 20 | 105 | NULL | NULL | 22 | 106 +-------------+-----------------+----------------+ 107 --------------------------------------------------------------------------------------- 108 --------------------------------------------------------------------------------------- 109 110 OUT JOIN 全连接 111 SELECT a.runoob_id, a.runoob_author, b.runoob_count FROM runoob_tbl a OUT JOIN tcount_tbl b ON a.runoob_author = b.runoob_author; 112 +-------------+-----------------+----------------+ 113 | a.runoob_id | a.runoob_author | b.runoob_count | 114 +-------------+-----------------+----------------+ 115 | 1 | 菜鸟教程 | 10 | 116 | 2 | 菜鸟教程 | 10 | 117 | 3 | RUNOOB.COM | 20 | 118 | 4 | RUNOOB.COM | 20 | 119 | 5 | FK | NULL | 120 | NULL | NULL | 22 | 121 +-------------+-----------------+----------------+ 122 --------------------------------------------------------------------------------------- 123 ---------------------------------------------------------------------------------------
标签:多表,author,菜鸟,runoob,关联,RUNOOB,COM,查询,+-------------+-----------------+---------- 来源: https://www.cnblogs.com/chendakeng/p/15978818.html
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。