数据库语句嵌套
1. 标准SQL嵌套查询语句
1、简单子查询
select name,age from person
where age >
(
select age from person
where name = '网络'
)
2、in嵌套查询
select name from person
where countryid in
(
select countryid from country
where countryname = '网络'
)
(1)数据库语句嵌套扩展阅读:
嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询,其中外层查询也称为父查询,主查询,内层查询也称子查询,从查询。
子查询的语法规则
1、子查询的select查询总是使用圆括号括起来。
2、不能包括compute或for.browse子句。
3、如果同时指定top子句,则可能只包括order by子句。
4、子查询最多可以嵌套到32层。个别查询可能会不支持32层嵌套。
5、任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个值。
6、如果某个表只出现在子查询中二不出现在外部查询中,那么该表的列就无法包含在输出中。
2. 如何使用SQL Server数据库嵌套子查询
现在,就让我们追本溯源地探究这个问题。 有两种子查询类型:标准和相关。标准子查询执行一次,结果反馈给父查询。相关子查询每行执行一次,由父查询找回。在本文中,我将重点讨论嵌套子查询(nested subqueries)(我将在以后介绍相关子查询)。 试想这个问题:你想生成一个卖平垫圈的销售人员列表。你需要的数据分散在四个表格中:人员.联系方式(Person.Contact),人力资源.员工(HumanResources.Employee),销售.销售订单标题(Sales.SalesOrderHeader),销售.销售订单详情(Sales.SalesOrderDetail)。在SQL Server中,你从内压式(outside-in)写程序,但从外压式(inside-out)开始考虑非常有帮助,即可以一次解决需要的一个语句。 如果从内到外写起,可以检查Sales.SalesOrderDetail表格,在LIKE语句中匹配产品数(ProctNumber)值。你将这些行与Sales.SalesOrderHeader表格连接,从中可以获得销售人员IDs(SalesPersonIDs)。然后使用SalesPersonID连接SalesPersonID表格。最后,使用ContactID连接Person.Contact表格。 USE AdventureWorks ; GO SELECT DISTINCT c.LastName, c.FirstName FROM Person.Contact c JOIN HumanResources.Employee e ON e.ContactID = c.ContactID WHERE EmployeeID IN (SELECT SalesPersonID FROM Sales.SalesOrderHeader WHERE SalesOrderID IN (SELECT SalesOrderID FROM Sales.SalesOrderDetail WHERE ProctID IN (SELECT ProctID FROM Proction.Proct p WHERE ProctNumber LIKE'FW%'))); GO 这个例子揭示了有关SQL Server的几个绝妙事情。你可以发现,可以用IN()参数替代SELECT 语句。在本例中,有两次应用,因此创建了一个嵌套子查询。 我是标准化(normalization)的发烧友,尽管我不接受其荒谬的长度。由于标准化具有各种查询而增加了复杂性。在这些情况下子查询就显得非常有用,嵌套子查询甚至更加有用。 当你需要的问题分散于很多表格中时,你必须再次将它们拼在一起,这时你可能发现嵌套子程序就很有用。
3. 数据库嵌套查询语句怎么写
select * from aaa where time1 in (select time2 from bbb)
4. 数据库SQL语言嵌套查询问题
嵌套就是类似IN语句,比如select
*
from
table1
where
id
in
(select
id
from
table2),连接就是用JOIN把2表根据一个字段进行数据连接,区别就是连接查询效率比嵌套高,而且JOIN可以通过改变JOIN先后顺序,先扫描记录少的表,从而提高速度,如果嵌套会固定先搜索子查询
5. 数据库嵌套需要连接吗
不需要,数据库只要键接一次就可以了,里面的表不需要每个的都链接,只要用SQL语句操作就可以了
6. SQL数据库中:分支语句和循环语句各自可以嵌套,也可以相互嵌套。这个
可以多个嵌套,但是只要一个条件不满足结果都查询不到,你把语句写出来看下
Update
Table
Set
a='5'
Where
b=
(Select
b
From
Table
Where
c
In
(Select
c
From
Dmpedi.Pps_Temp
Where
b
=
'2'
And
Rownum
<
5)
And
Rownum
=
1)
7. 请教数据库Update嵌套语句!
1
update a set a.AI_STORE_WT = b.CH_STORE_WT
from DTAI59 a, DTAI06 b where a.材料号= b.材料号
2
update b set b.AI_STORE_WT = 0
from DTAI59 a, DTAI06 b where a.材料号= b.材料号
8. 数据库中什么时候用嵌套查询
嵌套查询, 就是我主查询的 不是一个表, 而是另外一个查询
例如 SQL Server 2008 当中
我需要查询 某个表的 第 11行 到第20行的数据。
也就是翻页处理, 每页10行, 现在要查询第2页。
SELECT
TOP 10
top20.*
FROM
(
SELECT
TOP 20
*
FROM
表
ORDER BY
排序列 ASC
) AS top20
ORDER BY
排序列 DESC
内部的子查询, 是查询 表的, 查询 20行数据。
外部的主查询, 是查询子查询的, 从子查询的20行结果中,查询其中的10行