August 28, 2022
SQL RIGHT JOIN 关键字 # RIGHT JOIN 关键字从右表(table2)返回所有的行,即使左表(table1)中没有匹配。如果左表中没有匹配,则结果为 NULL。
SQL RIGHT JOIN 语法 # SELECT column_name(s) FROM table1 RIGHT JOIN table2 ON table1.column_name=table2.column_name; 或:
SELECT column_name(s) FROM table1 RIGHT OUTER JOIN table2 ON table1.column_name=table2.column_name; 注释:在某些数据库中,RIGHT JOIN 称为 RIGHT OUTER JOIN。
SQL RIGHT JOIN 实例 # 下面的 SQL 语句将返回网站的访问记录。
以下实例中我们把 domains 作为左表,logs 作为右表:
MariaDB [learnsql]> select domains.domainname,logs.google,logs.baidu,logs.sogou from domains right join logs on domains.id=logs.id order by logs.baidu desc; +---------------+--------+--------+--------+ | domainname | google | baidu | sogou | +---------------+--------+--------+--------+ | NULL | 000749 | 002977 | 000358 | | NULL | 002123 | 002939 | 000331 | | NULL | 002701 | 002843 | 000315 | | pornie.
...
August 28, 2022
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_name=table2.column_name; SQL FULL OUTER JOIN 实例 # 下面的 SQL 语句选取所有网站访问记录。
MySQL中不支持 FULL OUTER JOIN,你可以在 SQL Server 测试以下实例。
SELECT domains.domainname, logs.baidu, FROM domains FULL OUTER JOIN logs ON domains.id=logs.id ORDER BY logs.baidu DESC; 注释:FULL OUTER JOIN 关键字返回左表(doamins)和右表(logs)中所有的行。如果 “domains” 表中的行在 “logs” 中没有匹配或者 “logs” 表中的行在 “domains” 表中没有匹配,也会列出这些行。
August 28, 2022
SQL UNION 操作符合并两个或多个 SELECT 语句的结果。
SQL UNION 操作符 # UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
SQL UNION 语法 # SELECT column_name(s) FROM table1 UNION SELECT column_name(s) FROM table2; 注释:默认地,UNION 操作符选取不同的值。如果允许重复的值,请使用 UNION ALL。
SQL UNION ALL 语法 # SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2; 注释:UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
August 28, 2022