|
为了从两个或多个表中选出数据,我们一般使用表连接来实现这个功能。
本节介绍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的概念就很好理解了。 |
相关推荐
子查询是SQL语言中一种重要的查询方式,它允许将一条SELECT语句作为另一条SELECT语句的一部分使用。这种结构化的设计使得数据库查询更为灵活和强大。具体而言,外层的SELECT语句被称为外部查询,而内层的SELECT语句...
单表查询是SELECT语句的基础,用于获取一个表中的信息。以下是一些常见的单表查询操作: 1. **全列查询**:如果希望选取表中的所有列,可以使用通配符`*`: ```sql SELECT * FROM Employees; ``` 2. **条件...
本篇将详细讲解`SELECT`语句,特别是涉及连接查询的部分。 首先,我们要了解`SELECT`的基本语法结构: ```sql SELECT column1, column2, ... FROM table1, table2, ... WHERE condition; ``` 这里,`column1, ...
SQL中的表连接是实现多表查询的关键操作,允许从多个相关的表中合并数据。在本教程中,我们将深入探讨如何使用`JOIN`语句来连接两个表——`album`和`track`,以及理解不同类型的连接:内连接、左连接、右连接和全...
在SQL查询中,JOIN操作是连接两个或多个表的关键部分,用于从这些表中提取相关数据。本篇文章将深入探讨LEFT JOIN、RIGHT JOIN以及INNER JOIN的用法,并通过实例进行对比,帮助理解它们之间的差异。 1. LEFT JOIN...
本文将深入探讨ABAP中的SELECT语句,特别是涉及到表连接的部分。 1. **内联接(INNER JOIN)** 内联接是SELECT语句中用于从多个表中获取数据的常见方式,它返回两个表中满足特定条件的匹配行。语法如下: ```sql...
本次实验聚焦于SQL Server中的简单SELECT语句,旨在帮助学习者深入理解并熟练运用SELECT语句进行基础数据查询、排序及连接查询。通过本实验,学习者不仅能够观察查询结果,感受SELECT语句的实际应用价值,还能够在...
实验报告主要围绕数据库查询展开,涉及SQL语言中的SELECT语句及其相关子句的使用,包括基本查询、条件查询、GROUP BY、ORDER BY、UNION、嵌套查询和连接查询等。以下是具体的知识点详解: 1. **SELECT基本查询**: ...
### Select语句大全,适合初学者 在数据库查询语言中,`SELECT`语句是最基本也是最常用的命令之一。它允许用户从一个或多个表中提取数据,并对这些数据进行筛选、排序等操作。尽管`SELECT`语句的完整语法可能显得...
在SQL语言中,连接(Join)操作是一种非常重要的数据整合方式,主要用于从两个或多个表中提取数据。根据连接方式的不同,可以分为多种类型,包括内连接(Inner Join)、左连接(Left Join)以及右连接(Right Join)...
SQL SELECT 语句的表连接是数据库操作中非常重要的一个概念,它允许用户从两个或多个相关联的表中检索数据。在SQL中,连接(JOIN)操作是通过匹配不同表之间的共同字段来合并这些表的数据,从而创建一个新的虚拟表,...
2. **JOIN 子句**:接着是`JOIN`子句,用于将多个表连接起来。这里涉及到不同的连接类型,如内连接(INNER JOIN)、左连接(LEFT JOIN)、右连接(RIGHT JOIN)等,具体取决于查询需求。 3. **ON 子句**:在连接表...
除了基础的SELECT操作,SQL还提供了其他高级功能,如JOIN操作用于合并来自多个表的数据,GROUP BY用于根据一个或多个列对结果进行分组,HAVING用于在GROUP BY后过滤数据,ORDER BY用于对结果进行排序,以及LIMIT用于...
- 如果涉及到多表连接,则根据JOIN类型(如INNER JOIN、LEFT JOIN等)确定表之间的连接方式。 - 表连接完成后,形成临时的结果集。 2. **WHERE**:接着应用WHERE子句中的过滤条件。 - 这一步骤主要用于过滤掉不...
在本教程中,我们将深入探讨MySQL中的多种查询语句,包括多表查询、视图、数据库管理、SELECT语句以及创建表等核心概念。 首先,让我们从多表查询开始。在实际应用中,往往需要从多个相关表中获取信息,这就需要...
本文主要介绍了SQL Server中select语句的使用技巧,以商品信息管理数据库为例,详细介绍了关系数据库管理系统中SQL查询语句—select的基本用法和使用技巧,包括单表的基本查询、关键字辅助查询、统计查询以及多表的...
数据库是存储和管理数据的核心工具,SQL(结构化查询语言)是访问和操作数据库的语言。在本文中,我们将深入探讨一些...理解这些基本的SELECT语句及其在多表查询中的应用,对于优化数据库查询性能和数据管理至关重要。
以上只是SQL SELECT语句的基本应用,实际上,SELECT还可以与其他关键字和子句结合,如WHERE(用于条件过滤),GROUP BY(用于分组),HAVING(在分组后过滤),ORDER BY(排序结果),JOIN(联接多个表),以及更...
### SELECT语句的完整语法详解 #### 一、概述 `SELECT`语句是SQL语言中最常用也是最重要的组成部分之一,主要用于从数据库中检索数据。它提供了丰富的选项来满足不同的查询需求,包括但不限于筛选特定的数据记录、...
2. 联合查询(JOIN):连接两个或多个表以获取相关数据,如INNER JOIN(内连接)、LEFT JOIN(左连接)、RIGHT JOIN(右连接)和FULL JOIN(全连接)。 3. 子查询:在主查询中嵌套另一个查询,子查询的结果可以作为...