网站建设使用的什么网站建设 美橙
- 作者: 五速梦信息网
- 时间: 2026年03月21日 07:45
当前位置: 首页 > news >正文
网站建设使用的什么,网站建设 美橙,冬创网站建设培训中心,微信链接制作软件SQL零基础入门学习#xff08;七#xff09;
SQL 连接(JOIN)
SQL join 用于把来自两个或多个表的行结合起来。
下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。
SQL JOIN
SQL JOIN 子句用于把来自两个或多个表的行结合起来#xff0c;基…SQL零基础入门学习七
SQL 连接(JOIN)
SQL join 用于把来自两个或多个表的行结合起来。
下图展示了 LEFT JOIN、RIGHT JOIN、INNER JOIN、OUTER JOIN 相关的 7 种用法。
SQL JOIN
SQL JOIN 子句用于把来自两个或多个表的行结合起来基于这些表之间的共同字段。
最常见的 JOIN 类型SQL INNER JOIN简单的 JOIN。 SQL INNER JOIN 从多个表中返回满足 JOIN 条件的所有行。
语法
SELECT column1, column2, …
FROM table1
JOIN table2 ON condition;参数说明 column1, column2, …要选择的字段名称可以为多个字段。如果不指定字段名称则会选择所有字段。 table1要连接的第一个表。 table2要连接的第二个表。 condition连接条件用于指定连接方式。
演示数据库
在本教程中我们将使用 RUNOOB 样本数据库。
下面是选自 “Websites” 表的数据
| id | name | url | alexa | country |
| 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | ————————————————————–下面是 “access_log” 网站访问记录表的数据
mysql SELECT * FROM access_log;
| aid | site_id | count | date |
| 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 |
| 9 | 3 | 201 | 2016-05-17 |
9 rows in set (0.00 sec)请注意“Websites” 表中的 “id” 列指向 “access_log” 表中的字段 “site_id”。上面这两个表是通过 “site_id” 列联系起来的。
然后如果我们运行下面的 SQL 语句包含 INNER JOIN
SELECT Websites.id, Websites.name, access_log.count, access_log.date
FROM Websites
INNER JOIN access_log
ON Websites.idaccess_log.site_id;执行以上 SQL 输出结果如下
不同的 SQL JOIN
在我们继续讲解实例之前我们先列出您可以使用的不同的 SQL JOIN 类型
INNER JOIN如果表中有至少一个匹配则返回行 LEFT JOIN即使右表中没有匹配也从左表返回所有的行 RIGHT JOIN即使左表中没有匹配也从右表返回所有的行 FULL JOIN只要其中一个表中存在匹配则返回行
SQL INNER JOIN 关键字
INNER JOIN 关键字在表中存在至少一个匹配时返回行。
SQL INNER JOIN 语法
SELECT column_name(s)
FROM table1
INNER JOIN table2
ON table1.column_nametable2.column_name;或
SELECT column_name(s)
FROM table1
JOIN table2
ON table1.column_nametable2.column_name;参数说明 columns要显示的列名。 table1表1的名称。 table2表2的名称。 column_name表中用于连接的列名。
注释INNER JOIN 与 JOIN 是相同的。
演示数据库
在本教程中我们将使用 RUNOOB 样本数据库。
下面是选自 “Websites” 表的数据
| id | name | url | alexa | country |
| 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | ————————————————————–下面是 “access_log” 网站访问记录表的数据
mysql SELECT * FROM access_log;
| aid | site_id | count | date |
| 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 |
| 9 | 3 | 201 | 2016-05-17 |
9 rows in set (0.00 sec)SQL INNER JOIN 实例
下面的 SQL 语句将返回所有网站的访问记录
SELECT Websites.name, access_log.count, access_log.date
FROM Websites
INNER JOIN access_log
ON Websites.idaccess_log.site_id
ORDER BY access_log.count;执行以上 SQL 输出结果如下 注释INNER JOIN 关键字在表中存在至少一个匹配时返回行。如果 “Websites” 表中的行在 “access_log” 中没有匹配则不会列出这些行。
SQL LEFT JOIN 关键字
LEFT JOIN 关键字从左表table1返回所有的行即使右表table2中没有匹配。如果右表中没有匹配则结果为 NULL。
SQL LEFT JOIN 语法
SELECT column_name(s)
FROM table1
LEFT JOIN table2
ON table1.column_nametable2.column_name;或
SELECT column_name(s)
FROM table1
LEFT OUTER JOIN table2
ON table1.column_nametable2.column_name;注释在某些数据库中LEFT JOIN 称为 LEFT OUTER JOIN。
演示数据库
在本教程中我们将使用 RUNOOB 样本数据库。
下面是选自 “Websites” 表的数据
| id | name | url | alexa | country |
| 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | ————————————————————–下面是 “access_log” 网站访问记录表的数据
mysql SELECT * FROM access_log;
| aid | site_id | count | date |
| 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 |
| 9 | 3 | 201 | 2016-05-17 |
9 rows in set (0.00 sec)SQL LEFT JOIN 实例
下面的 SQL 语句将返回所有网站及他们的访问量如果有的话。
以下实例中我们把 Websites 作为左表access_log 作为右表
SELECT Websites.name, access_log.count, access_log.date
FROM Websites
LEFT JOIN access_log
ON Websites.idaccess_log.site_id
ORDER BY access_log.count DESC;执行以上 SQL 输出结果如下 注释LEFT JOIN 关键字从左表Websites返回所有的行即使右表access_log中没有匹配。
SQL RIGHT JOIN 关键字
RIGHT JOIN 关键字从右表table2返回所有的行即使左表table1中没有匹配。如果左表中没有匹配则结果为 NULL。
SQL RIGHT JOIN 语法
SELECT column_name(s)
FROM table1
RIGHT JOIN table2
ON table1.column_nametable2.column_name;或
SELECT column_name(s)
FROM table1
RIGHT OUTER JOIN table2
ON table1.column_nametable2.column_name;注释在某些数据库中RIGHT JOIN 称为 RIGHT OUTER JOIN。
演示数据库
在本教程中我们将使用 RUNOOB 样本数据库。
操作前先在 access_log 表添加一条数据该数据在 Websites 表没有对应的数据
INSERT INTO access_log (aid, site_id, count, date) VALUES (10, 6, 111, 2016-03-09);下面是选自 “Websites” 表的数据
| id | name | url | alexa | country |
| 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND | ————————————————————–下面是 “access_log” 网站访问记录表的数据
mysql SELECT * FROM access_log;
| aid | site_id | count | date |
| 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 | | 9 | 3 | 201 | 2016-05-17 |
| 10 | 6 | 111 | 2016-03-19 |
9 rows in set (0.00 sec)SQL RIGHT JOIN 实例 下面的 SQL 语句将返回网站的访问记录。 以下实例中我们把 Websites 作为左表access_log 作为右表 SELECT websites.name, access_log.count, access_log.date FROM websites RIGHT JOIN access_log ON access_log.site_idwebsites.id ORDER BY access_log.count DESC;执行以上 SQL 输出结果如下 注释RIGHT JOIN 关键字从右表access_log返回所有的行即使左表Websites中没有匹配。 SQL FULL OUTER JOIN 关键字 FULL OUTER JOIN 关键字只要左表table1和右表table2其中一个表中存在匹配则返回行. FULL OUTER JOIN 关键字结合了 LEFT JOIN 和 RIGHT JOIN 的结果。 SQL FULL OUTER JOIN 语法 SELECT column_name(s) FROM table1 FULL OUTER JOIN table2 ON table1.column_nametable2.column_name;演示数据库 在本教程中我们将使用 RUNOOB 样本数据库。
下面是选自 “Websites” 表的数据
| id | name | url | alexa | country |
| 1 | Google | https://www.google.cm/ | 1 | USA | | 2 | 淘宝 | https://www.taobao.com/ | 13 | CN | | 3 | 菜鸟教程 | http://www.runoob.com/ | 4689 | CN | | 4 | 微博 | http://weibo.com/ | 20 | CN | | 5 | Facebook | https://www.facebook.com/ | 3 | USA | | 7 | stackoverflow | http://stackoverflow.com/ | 0 | IND |
————————————————————–下面是 “access_log” 网站访问记录表的数据
| aid | site_id | count | date |
| 1 | 1 | 45 | 2016-05-10 | | 2 | 3 | 100 | 2016-05-13 | | 3 | 1 | 230 | 2016-05-14 | | 4 | 2 | 10 | 2016-05-14 | | 5 | 5 | 205 | 2016-05-14 | | 6 | 4 | 13 | 2016-05-15 | | 7 | 3 | 220 | 2016-05-15 | | 8 | 5 | 545 | 2016-05-16 |
| 9 | 3 | 201 | 2016-05-17 |
9 rows in set (0.00 sec)SQL FULL OUTER JOIN 实例 下面的 SQL 语句选取所有网站访问记录。 MySQL中不支持 FULL OUTER JOIN你可以在 SQL Server 测试以下实例。 SELECT Websites.name, access_log.count, access_log.date FROM Websites FULL OUTER JOIN access_log ON Websites.idaccess_log.site_id ORDER BY access_log.count DESC;注释FULL OUTER JOIN 关键字返回左表Websites和右表access_log中所有的行。如果 “Websites” 表中的行在 “access_log” 中没有匹配或者 “access_log” 表中的行在 “Websites” 表中没有匹配也会列出这些行。
- 上一篇: 网站建设实验总结报告山东免费网站建设
- 下一篇: 网站建设使用工具如何选择武进网站建设
相关文章
-
网站建设实验总结报告山东免费网站建设
网站建设实验总结报告山东免费网站建设
- 技术栈
- 2026年03月21日
-
网站建设实验七免费个人网站制作在线
网站建设实验七免费个人网站制作在线
- 技术栈
- 2026年03月21日
-
网站建设实验目的wordpress仪表盘修改
网站建设实验目的wordpress仪表盘修改
- 技术栈
- 2026年03月21日
-
网站建设使用工具如何选择武进网站建设
网站建设使用工具如何选择武进网站建设
- 技术栈
- 2026年03月21日
-
网站建设使用情况李守洪
网站建设使用情况李守洪
- 技术栈
- 2026年03月21日
-
网站建设市场多大制作动画片软件
网站建设市场多大制作动画片软件
- 技术栈
- 2026年03月21日
