首页 » 建站技术 » 浏览内容

SQL语句教程(16) Subquery


2006-12-01 11:22:00 4,673 0 发表评论 字体: 作者:C.K.
标签: sql语句

体验版 88 元,个人版 128 元,多用户版 288元个人版160元升级到多用户版。

From:http://blog.sina.com.cn/u/4b85320e0100069a

我们可以在一个 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 Francisco
$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

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

网站统计 Statistics

  • 创建时间: 2005年1月3日 距今5062 天
  • 日志总数: 2461
  • 评论总数: 630
  • 标签总数: 654
  • 链接总数: 273
  • 最后更新: 2018-8-31 17:57:04
  • 您是本站第 14146576 位访客

广告区 Guǎng Gào