SQL Subquery


SQL SELECT
SQL DISTINCT
SQL WHERE
SQL AND OR
SQL IN
SQL BETWEEN
SQL LIKE
SQL ORDER BY
SQL 函数
SQL COUNT
SQL GROUP BY
SQL HAVING
SQL ALIAS
SQL 表格连接
SQL 外部连接
SQL Subquery
SQL UNION
SQL UNION ALL
SQL INTERSECT
SQL MINUS
SQL CONCATENATE
SQL SUBSTRING
SQL TRIM

SQL CREATE TABLE
SQL CREATE VIEW
SQL CREATE INDEX
SQL ALTER TABLE
SQL 主键
SQL 外来键
SQL DROP TABLE
SQL TRUNCATE TABLE
SQL INSERT INTO
SQL UPDATE
SQL DELETE FROM







网站导引
其他资源

我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 WHERE 子 句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery 的架构。 Subquery 的作用是什么呢?第一,它可以被用来连接表格。另外,有的时候 subquery 是唯一能够连接两个表格的方式。

Subquery 的语法如下:

SELECT "栏位1"
FROM "表格"
WHERE "栏位2" [比较运算素]
(SELECT "栏位1"
FROM "表格"
WHERE [条件])

[比较运算素] 可以是相等的运算素,例如 =, >, <, >=, <=. 这也可以是一个对文字的运算素,例如 "LIKE."

我们就用刚刚在阐述 SQL 连接时用过的例子:

Store_Information 表格
store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999

Geography 表格
region_name store_name
East Boston
East New York
West Los Angeles
West San Diego

我们要运用 subquery 来找出所有在西部的店的营业额。我们可以用下面的 SQL 来达到我们的目的:

SELECT SUM(Sales) FROM Store_Information
WHERE Store_name IN
(SELECT store_name FROM Geography
WHERE region_name = 'West')

结果:

SUM(Sales)
2050

在这个例子中,我们并没有直接将两个表格连接起来,然后由此直接算出每一间西区店面的营业额。我们做的是先找出哪些店是在西区的,然后再算出这些店的营业额总共是多少。

SQL UNION >>



网站导引   |   其他资源