SQL

SQL RIGHT JOIN 关键字

August 28, 2022
SQL, JOIN, 连接, RIGHT JOIN, RIGHT

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. ...

SQL FULL OUTER JOIN 关键字

August 28, 2022
SQL, JOIN, 连接, FULL OUTER JOIN, FULL OUTER

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” 表中没有匹配,也会列出这些行。

SQL UNION 操作符

August 28, 2022
SQL, 连接, UNION

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 语句中的列名。