`

SQL基础系列二------JOIN

    博客分类:
  • DB
SQL 
阅读更多
1.数据库中的表可通过键将彼此联系起来。主键(Primary Key)是一个列,在这个列中的每一行的值都是唯一的。在表中,每个主键的值都是唯一的。这样做的目的是在不重复每个表中的所有数据的情况下,把表间的数据交叉捆绑在一起。

2•JOIN: 如果表中有至少一个匹配,则返回行
  •LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  •RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  •FULL 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 


请注意,"Id_P" 列是 Persons 表中的的主键。这意味着没有两行能够拥有相同的 Id_P。即使两个人的姓名完全相同,Id_P 也可以区分他们。

接下来请看 "Orders" 表:

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


请注意,"Id_O" 列是 Orders 表中的的主键,同时,"Orders" 表中的 "Id_P" 列用于引用 "Persons" 表中的人,而无需使用他们的确切姓名。

请留意,"Id_P" 列把上面的两个表联系了起来。
引用两个表
我们可以通过引用两个表的方式,从两个表中获取数据:

谁订购了产品,并且他们订购了什么产品?

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons, Orders
WHERE Persons.Id_P = Orders.Id_P
结果集:

LastName FirstName OrderNo 
Adams John 22456 
Adams John 24562 
Carter Thomas 77895 
Carter Thomas 44678 

SQL JOIN - 使用 Join
除了上面的方法,我们也可以使用关键词 JOIN 来从两个表中获取数据。

如果我们希望列出所有人的定购,可以使用下面的 SELECT 语句:

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
INNER 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 

分享到:
评论

相关推荐

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

    《SQL Server 2012 T-SQL基础教程——源码与示例数据库》 本教程专注于Microsoft SQL Server 2012中的Transact-SQL(T-SQL)语言,这是SQL Server的主要查询语言,用于数据操作、查询、存储过程和数据库对象的编程...

    标准SQL和transact-sql之比较学习

    总的来说,标准SQL是数据库操作的基础,而Transact-SQL是在此基础上进行的增强和扩展,以适应SQL Server的需求。理解两者的区别对于开发针对SQL Server的应用程序至关重要。通过深入学习和实践,开发者可以充分利用T...

    Inside-SQL2005-T-SQL.rar_inside

    1. **T-SQL基础**:包括SELECT语句用于查询数据,INSERT、UPDATE、DELETE语句用于插入、更新和删除数据的基本语法和使用场景。 2. **高级查询**:可能详细讲解了联接(JOIN)操作,如内连接、外连接和交叉连接,...

    SQL Server 2005 T-SQL Recipes

    《SQL Server 2005 T-SQL Recipes》是一本专为SQL Server 2005用户设计的实用指南,其英文版旨在提供一系列解决实际问题的T-SQL(Transact-SQL)代码示例。这本书是数据库管理员、开发人员和系统架构师的重要参考...

    SQL Server 2012 T-SQL Recipes

    本书通过一系列实践性的示例,深入浅出地介绍了T-SQL语言的各种特性和应用技巧。 #### 二、关键章节详解 ##### 1. Chapter 1: Getting Started with SELECT - **主要内容**:这一章是整个书籍的开篇,主要介绍如何...

    SQL Server2005 T-SQL 概述

    #### T-SQL基础与增强功能 T-SQL(Transact-SQL)是Microsoft SQL Server特有的一种SQL方言,用于管理和操作数据库。SQL Server 2005版本对T-SQL进行了显著的增强,引入了如PIVOT、UNPIVOT、APPLY以及OVER子句等新...

    sql考试复习资料-索引--触发器-存储过程-详细查询语句

    "实验二 数据库的查询实验"和其参考答案则帮助你熟练掌握SQL查询语句,包括SELECT、JOIN、WHERE子句等。"实验五 存储过程和触发器"让你有机会亲手编写和执行存储过程及触发器。 "视图.doc"和"触发器.doc"分别深入...

    Oracle SQL Recipes A Problem-Solution Approach

    1. **Oracle SQL基础知识** - SQL语言的基本语法和结构。 - 数据库表的创建、查询、更新和删除操作。 2. **数据查询与筛选** - 使用SELECT语句进行复杂的数据查询。 - WHERE子句的应用技巧。 - GROUP BY、...

    sql server 2005 技术内幕t-sql查询源码

    T-SQL(Transact-SQL)是Microsoft SQL Server数据库管理系统中使用的SQL扩展版本,它在标准SQL的基础上增加了一系列特有的语法和功能,使得数据库管理和开发更为高效。 本书分为九个章节,全面覆盖了T-SQL查询的...

    sql学习-sql练习-SQL必知必会

    通过"TeachYourselfSQL_MySQL"这个压缩包,你可以找到一系列关于SQL和MySQL的学习资料,包括教程、实战练习和案例分析,这些都将帮助你深入理解SQL,提高实际操作能力。记住,理论知识与实践相结合是掌握任何技能的...

    SQL常用命令概述-

    二、SQL查询 1. **SELECT语句**:这是SQL中最常用的命令,用于从数据库中检索数据。基础用法如下: ```sql SELECT column1, column2 FROM table_name; ``` 例如,从Employees表中选取所有员工的ID和Name: ```sql ...

    Oracle Sql基础 Oracle Sql基础 Oracle Sql基础

    - 事务是作为逻辑工作单元执行的一系列SQL语句,可以使用BEGIN TRANSACTION开始事务,使用COMMIT或ROLLBACK来结束事务。 - **7.11.2 COMMIT和ROLLBACK语句** - COMMIT用于提交事务,使更改永久保存到数据库;...

    ---SQL2005--读书笔记

    1. **SQL基础知识**:了解SQL的基本语法至关重要,包括SELECT语句用于查询数据,INSERT用于插入新记录,UPDATE用于更新现有记录,以及DELETE用于删除记录。此外,JOIN操作用于合并来自多个表的数据,WHERE子句用于...

    sql.rar_t-sql a

    它在标准SQL的基础上增加了一系列特性和功能,使得开发者能够更加灵活和高效地操作数据。下面将详细探讨T-SQL中的关键知识点。 1. **数据查询**: - `SELECT`语句:用于从一个或多个表中检索数据,可以配合`FROM`,...

    数据库管理与开发项目教程-教案-06项目四:使用T-SQL查询表数据-任务2分类汇总.docx

    【数据库管理与开发项目教程-教】:本教程聚焦于使用T-SQL...综上所述,本教程旨在通过一系列任务和实训,帮助学习者掌握T-SQL查询表数据的基本技巧,特别是分类汇总和统计分析,这对于数据库管理和开发工作至关重要。

    Microsoft SQL Server 2005技术内幕:T-SQL查询的源代码

    2. **JOIN操作**:T-SQL支持INNER JOIN、LEFT JOIN、RIGHT JOIN和FULL OUTER JOIN等不同类型的连接,用于合并来自两个或更多表的数据。 3. **子查询**:嵌套在其他查询中的查询,可以作为表达式的一部分或者在WHERE...

    SQL基础课件.rar

    1. **SQL基础概念** - 数据库:存储和组织数据的仓库,SQL用于操作这些数据。 - 关系型数据库:基于关系理论,以表格形式存储数据,各表之间可通过键关联。 - SQL Server 2000:提供了用户友好的图形界面(如企业...

    Sql 2008技术内幕之T-Sql语言基础

    《SQL Server 2008技术内幕之T-SQL语言基础》是一本深入解析SQL Server 2008中T-SQL(Transact-SQL)语法与应用的专业书籍。T-SQL是SQL Server的主要查询语言,它扩展了标准SQL,为数据库管理、数据查询和程序开发...

Global site tag (gtag.js) - Google Analytics