SQL入门教程(16) Subquery

2013-11-2 liyangweb.com 李杨 MySQL

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

标签: mysql SQL入门教程

发表评论:

Powered by emlog 冀ICP备13011830号-1