首页 > 代码库 > linux之SQL语句简明教程---Subquery
linux之SQL语句简明教程---Subquery
我们可以在一个 SQL 语句中放入另一个 SQL 语句。当我们在 WHERE 子句或 HAVING 子句中插入另一个 SQL 语句时,我们就有一个 subquery 的架构。 Subquery 的作用是什么呢?第一,它可以被用来连接表格。另外,有的时候 subquery 是唯一能够连接两个表格的方式。
Subquery 的语法如下:
SELECT "栏位1"
FROM "表格"
WHERE "栏位2" [比较运算素]
(SELECT "栏位1"
FROM "表格"
WHERE "条件");
FROM "表格"
WHERE "栏位2" [比较运算素]
(SELECT "栏位1"
FROM "表格"
WHERE "条件");
[比较运算素] 可以是相等的运算素,例如 =, >, <, >=, <=. 这也可以是一个对文字的运算素,例如 "LIKE"。
我们就用刚刚在阐述 SQL 连接时用过的例子:
Store_Information 表格
Store_Name | Sales | Txn_Date |
Los Angeles | 1500 | 05-Jan-1999 |
San Diego | 250 | 07-Jan-1999 |
Los Angeles | 300 | 08-Jan-1999 |
Boston | 700 | 08-Jan-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‘);
WHERE Store_name IN
(SELECT store_name FROM Geography
WHERE region_name = ‘West‘);
结果:
SUM(Sales) |
2050 |
在这个例子中,我们并没有直接将两个表格连接起来,然后由此直接算出每一间西区店面的营业额。我们做的是先找出哪些店是在西区的,然后再算出这些店的营业额总共是多少。
Linux实测:
转载请注明:小刘
linux之SQL语句简明教程---Subquery
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。