`

SELECT语句的表连接(join)

 
阅读更多
为了从两个或多个表中选出数据,我们一般使用表连接来实现这个功能。

本节介绍join(连接)的概念. 为此我们准备了两个试验用表: album(专辑表) 和 track(曲目表).

专辑表:包含200首来自Amazon的音乐CD的概要信息
album(asin, title, artist, price, release, label, rank)

曲目表:每张专辑中的曲目(因为是音乐CD,所以也可叫歌曲)的详细信息。
track(album, dsk, posn, song)

SQL短语 FROM album JOIN track ON album.asin=track.album 表示连接album和track表。
其中,album.asin表示专辑的惟一标识号,track.album表示曲目表中和专辑关联的专辑号。
连接后,得到一个临时表,该临时表中每条记录包含的字段由两部分组成,
除了专辑表中的对应字段album(title, artist ...),还包含曲目表的所有字段track(album, disk, posn and song)。

有了这张临时表,很多查询就容易实现了。

看看一些具体的实例,

一、列出歌名为'Alison'的专辑名称和作者

SELECT title, artist
FROM album JOIN track
ON (album.asin=track.album)
WHERE song = 'Alison'

显然,歌名、专辑名称和作者分别在两个表中,必需使用表连接来完成这个查询。


二、哪个artist录制了歌曲'Exodus'

SELECT artist
FROM album JOIN track ON (asin=album)
WHERE song = 'Exodus'

用作连接的两个字段asin,album因为在两个表中都是惟一的,所以不一定要加表名作为前缀。
但为了方便理解,建议使用前缀,形如:album.asin=track.album

三、列出曲目表中所有属于'Blur'专辑的歌曲

SELECT song
FROM album JOIN track ON (asin=album)
WHERE title = 'Blur'

如果我们把 album JOIN track ON (asin=album) 看成一个临时表的话,join的概念就很好理解了。
分享到:
评论

相关推荐

    子查询是指一条SELECT语句作为另一条SELECT语句的一部分,外层的SELCT语句称为外部查询,内层的SELECT语句称为内部查询(或子查询)

    子查询是SQL语言中一种重要的查询方式,它允许将一条SELECT语句作为另一条SELECT语句的一部分使用。这种结构化的设计使得数据库查询更为灵活和强大。具体而言,外层的SELECT语句被称为外部查询,而内层的SELECT语句...

    SELECT语句的应用 - MS SQL

    单表查询是SELECT语句的基础,用于获取一个表中的信息。以下是一些常见的单表查询操作: 1. **全列查询**:如果希望选取表中的所有列,可以使用通配符`*`: ```sql SELECT * FROM Employees; ``` 2. **条件...

    sql之select语句

    本篇将详细讲解`SELECT`语句,特别是涉及连接查询的部分。 首先,我们要了解`SELECT`的基本语法结构: ```sql SELECT column1, column2, ... FROM table1, table2, ... WHERE condition; ``` 这里,`column1, ...

    SQL教程之SELECT语句中的表连接

    SQL中的表连接是实现多表查询的关键操作,允许从多个相关的表中合并数据。在本教程中,我们将深入探讨如何使用`JOIN`语句来连接两个表——`album`和`track`,以及理解不同类型的连接:内连接、左连接、右连接和全...

    SQL语句left join/right join/inner join 的用法比较

    在SQL查询中,JOIN操作是连接两个或多个表的关键部分,用于从这些表中提取相关数据。本篇文章将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法,并通过实例进行对比,帮助理解它们之间的差异。 1. LEFT JOIN...

    ABAP select 语句

    本文将深入探讨ABAP中的SELECT语句,特别是涉及到表连接的部分。 1. **内联接(INNER JOIN)** 内联接是SELECT语句中用于从多个表中获取数据的常见方式,它返回两个表中满足特定条件的匹配行。语法如下: ```sql...

    实验七 简单SELECT语句

    本次实验聚焦于SQL Server中的简单SELECT语句,旨在帮助学习者深入理解并熟练运用SELECT语句进行基础数据查询、排序及连接查询。通过本实验,学习者不仅能够观察查询结果,感受SELECT语句的实际应用价值,还能够在...

    Select语句大全,适合初学者

    ### Select语句大全,适合初学者 在数据库查询语言中,`SELECT`语句是最基本也是最常用的命令之一。它允许用户从一个或多个表中提取数据,并对这些数据进行筛选、排序等操作。尽管`SELECT`语句的完整语法可能显得...

    SQL语句inner join,left join ,right join连接的不同之处

    在SQL语言中,连接(Join)操作是一种非常重要的数据整合方式,主要用于从两个或多个表中提取数据。根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)...

    数据库实验2的实验报告1. 在 studentsdb 数据库中使用 SELECT 语句进行基本查询。 (1)在 student

    实验报告主要围绕数据库查询展开,涉及SQL语言中的SELECT语句及其相关子句的使用,包括基本查询、条件查询、GROUP BY、ORDER BY、UNION、嵌套查询和连接查询等。以下是具体的知识点详解: 1. **SELECT基本查询**: ...

    SQL SELECT 语句的表连接

    SQL SELECT 语句的表连接是数据库操作中非常重要的一个概念,它允许用户从两个或多个相关联的表中检索数据。在SQL中,连接(JOIN)操作是通过匹配不同表之间的共同字段来合并这些表的数据,从而创建一个新的虚拟表,...

    SQL Select语句完整的执行顺序

    2. **JOIN 子句**:接着是`JOIN`子句,用于将多个表连接起来。这里涉及到不同的连接类型,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)等,具体取决于查询需求。 3. **ON 子句**:在连接表...

    SQL语句教程最最基础的操作SELECT 语句

    除了基础的SELECT操作,SQL还提供了其他高级功能,如JOIN操作用于合并来自多个表的数据,GROUP BY用于根据一个或多个列对结果进行分组,HAVING用于在GROUP BY后过滤数据,ORDER BY用于对结果进行排序,以及LIMIT用于...

    SELECT语句执行顺序

    - 如果涉及到多表连接,则根据JOIN类型(如INNER JOIN、LEFT JOIN等)确定表之间的连接方式。 - 表连接完成后,形成临时的结果集。 2. **WHERE**:接着应用WHERE子句中的过滤条件。 - 这一步骤主要用于过滤掉不...

    mysql各种语句多表查询+ mysql视图 mysql数据库管理+ select语句+ 创建

    在本教程中,我们将深入探讨MySQL中的多种查询语句,包括多表查询、视图、数据库管理、SELECT语句以及创建表等核心概念。 首先,让我们从多表查询开始。在实际应用中,往往需要从多个相关表中获取信息,这就需要...

    SQL Server中select语句的使用技巧.pdf

    本文主要介绍了SQL Server中select语句的使用技巧,以商品信息管理数据库为例,详细介绍了关系数据库管理系统中SQL查询语句—select的基本用法和使用技巧,包括单表的基本查询、关键字辅助查询、统计查询以及多表的...

    数据库知识小结一些select语句的用法

    数据库是存储和管理数据的核心工具,SQL(结构化查询语言)是访问和操作数据库的语言。在本文中,我们将深入探讨一些...理解这些基本的SELECT语句及其在多表查询中的应用,对于优化数据库查询性能和数据管理至关重要。

    基本SQL-SELECT语句

    以上只是SQL SELECT语句的基本应用,实际上,SELECT还可以与其他关键字和子句结合,如WHERE(用于条件过滤),GROUP BY(用于分组),HAVING(在分组后过滤),ORDER BY(排序结果),JOIN(联接多个表),以及更...

    SELECT语句的完整语法 可参考资料

    ### SELECT语句的完整语法详解 #### 一、概述 `SELECT`语句是SQL语言中最常用也是最重要的组成部分之一,主要用于从数据库中检索数据。它提供了丰富的选项来满足不同的查询需求,包括但不限于筛选特定的数据记录、...

    Select查询语句基本语法及常用语句

    2. 联合查询(JOIN):连接两个或多个表以获取相关数据,如INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接)。 3. 子查询:在主查询中嵌套另一个查询,子查询的结果可以作为...

Global site tag (gtag.js) - Google Analytics