`

SQL基础系列---full join

    博客分类:
  • DB
阅读更多
1.full join关键字表示只要其中某个表存在匹配,就返回行
2.FULL JOIN 关键字语法
SELECT column_name(s)
FROM table_name1
FULL JOIN table_name2 
ON table_name1.column_name=table_name2.column_nam
e
注释:在某些数据库中, FULL JOIN 称为 FULL OUTER JOIN。
原始的表 (用在例子中的):
"Persons" 表:

Id_P LastName FirstName Address City 
1 Adams John Oxford Street London 
2 Bush George Fifth Avenue New York 
3 Carter Thomas Changan Street Beijing 

"Orders" 表:

Id_O OrderNo Id_P 
1 77895 3 
2 44678 3 
3 22456 1 
4 24562 1 
5 34764 65 

全连接(FULL JOIN)实例
现在,我们希望列出所有的人,以及他们的定单,以及所有的定单,以及定购它们的人。

您可以使用下面的 SELECT 语句:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
FULL JOIN Orders
ON Persons.Id_P=Orders.Id_P
ORDER BY Persons.LastName

结果集:

LastName FirstName OrderNo 
Adams John 22456 
Adams John 24562 
Carter Thomas 77895 
Carter Thomas 44678 
Bush George   
               34764 


FULL JOIN 关键字会从左表 (Persons) 和右表 (Orders) 那里返回所有的行。如果 "Persons" 中的行在表 "Orders" 中没有匹配,或者如果 "Orders" 中的行在表 "Persons" 中没有匹配,这些行同样会列出。

分享到:
评论

相关推荐

    SQL基础教程-Mick-示例程序&习题答案

    - 联接操作:INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL JOIN用于合并两个或更多表的数据。 - 子查询:嵌套在其他查询中的查询,用于获取满足特定条件的子集数据。 - 分页查询:LIMIT和OFFSET组合使用,实现查询...

    sql server 2012 T-SQl基础教程 源码和示例数据库

    2. **Chapter 03 - Joins - Solutions**:在这个章节,你将学习如何连接两个或更多表以获取跨表的数据,包括内连接(INNER JOIN)、外连接(LEFT JOIN, RIGHT JOIN, FULL JOIN)和自连接(SELF JOIN)的概念和实践。...

    cours-sql-sh-.zip_cours SQL_sql

    8. **联接操作**:掌握JOIN操作,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN,用于合并来自两个或更多表的数据。 9. **子查询**:理解如何在SQL查询中嵌套查询,以实现更复杂的数据筛选。 10. **聚合...

    SQL理论----很好的SQL课件

    SQL(Structured Query Language)是用于管理和处理关系数据库的标准语言,它的理论知识构成了数据库管理的基础。这份"SQL理论----很好的SQL课件"包含了丰富的学习资源,旨在帮助用户全面理解和掌握SQL的语言特性和...

    Inside Microsoft SQL Server 2008 T-SQL Programming

    2. **高级查询**:学习使用子查询、联接(INNER JOIN、LEFT JOIN、RIGHT JOIN、FULL JOIN)、集合操作(UNION、INTERSECT、EXCEPT)以及窗口函数(ROW_NUMBER、RANK、DENSE_RANK等)进行复杂的数据检索。 3. **数据...

    SQL技巧全集-整理

    除了上述概念,SQL技巧全集可能还包括联接(JOIN)操作,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全连接(FULL JOIN),用于合并来自多个表的数据。索引的使用和优化也是重要部分,它...

    sql常用语句-中文手册直接运行

    - JOIN:将多个表的数据结合在一起,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。 - INDEX:创建索引以提高查询性能。 -视图(VIEW):虚拟表,基于一个或多个表的查询结果。 5. Oracle特有功能: ...

    SQL-cheat-sheet

    6. **联接查询**:JOIN操作将两个或更多表的数据合并,如INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接)。 7. **子查询**:在查询中嵌套查询,用于返回单个值、多个值或...

    SQL-server-.rar_sql大作业

    4. **联接操作**:学习JOIN语句,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN,用于合并来自多个表的数据。 5. **视图与存储过程**:掌握如何创建和使用视图,以简化复杂查询或保护数据。同时,理解...

    考试常考的SQL题目---无私奉献了!

    在IT领域,SQL(Structured Query Language)是一种用于管理和处理关系数据库的强大语言,是任何数据驱动应用程序的基础。这个压缩包文件“考试常考的SQL题目---无私奉献了!”显然是为准备SQL相关考试或提升技能的...

    SQL Server 精华 --SQL查询的经典案例

    首先,SQL(Structured Query Language)是用于管理关系数据库的标准语言,它允许我们执行诸如创建、更新、查询和删除数据库中的数据等一系列操作。SQL Server提供了T-SQL(Transact-SQL)扩展,这是SQL的一个...

    SQL语句教程--教你写好SQL语句

    - **全连接(FULL JOIN)**: 返回两个表中所有记录,包括不满足连接条件的记录。 - **基本语法**: ```sql SELECT column_name(s) FROM table1 INNER JOIN table2 ON table1.column_name = table2.column_name; ...

    SQL 语句-- 语法{全集}

    - JOIN操作:内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)、全连接(FULL JOIN),以及自连接。 - 子查询:在查询中嵌套查询,用于获取更复杂的数据。 6. 数据更新(Data Modification): ...

    sql-must-know.zip

    5. **JOIN操作**:用于合并两个或更多表中的数据,包括INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。 6. **聚合函数**:SUM、AVG、MAX、MIN、COUNT等用于对一组值进行计算。 7. **子查询**:在查询语句中...

    sql-92-bnf.tar.gz_BNF SQL92_bnf_sql b_sql server bnf_sql92 bnf

    - **联接操作**:提供了更丰富的JOIN类型,如INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN。 - **集合操作**:UNION、INTERSECT和EXCEPT用于合并或比较多个查询结果集。 - **窗口函数**:ROW_NUMBER、...

    SQL Server T-SQL高级查询

    - 内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)和全外连接(FULL OUTER JOIN)是SQL连接的几种类型。 #### 8. 子查询 - **子查询**:嵌套在另一个SQL查询中的查询。 - 子查询可以用于SELECT...

    sql基础速查表 - 可打印

    #### 全连接(FULL JOIN 或 FULL OUTER JOIN) ```sql SELECT city.name, country.name FROM city FULL JOIN country ON city.country_id = country.id; ``` 全连接返回`city`和`country`表的所有行,如果某条记录...

Global site tag (gtag.js) - Google Analytics