精华内容
下载资源
问答
  • sql子查询嵌套select语句
    千次阅读
    2021-03-21 23:02:18

    嵌套SELECT语句也叫子查询,形如:

    SELECT name FROM bbc WHERE region = (SELECT region FROM bbc WHERE name = 'Brazil')

    一个SELECT语句的查询结果可以作为另一个语句的输入值。

    上面的SQL语句作用为获得和'Brazil'(巴西)同属一个地区的所有国家。

    子查询不但可以出现在Where子句中,也可以出现在from子句中,作为一个临时表使用,也可以出现在select list中,作为一个字段值来返回。本节我们仅介绍的Where子句中的子查询。

    在Where子句中使用子查询,有一个在实际使用中容易犯的错在这里说明一下。

    通常,就像上面的例子一样,嵌套的语句总是和一个值进行比较。

    语句 (SELECT region FROM bbc WHERE name = 'Brazil') 应该仅返回一个地区,即'Americas'。但如果我们在表中再插入一条地区为欧洲,国家名称为Brazil的记录,那会发生什么情况?

    这将会导致语句的运行时错误,因为这个SQL语句的语法是正确的,所以数据库引擎就开始执行,但当执行到外部的语句时就出错了。

    因为这时的外部语句就像好像是SELECT name FROM bbc WHERE region = ('Americas', 'Europe'),这个语句当然报错了。

    那么有没有办法解决这个问题呢,当然有。有一些SQL查询条件允许对列表值(即多个值)进行操作。

    例如"IN"操作符,可以测试某个值是否在一个列表中。

    下面的语句就可以安全的执行而不出错,不管表中有多少条包含Brazils的记录

    以下为引用的内容:

    SELECT name FROM bbc WHERE region IN 
    (SELECT region FROM bbc WHERE name = 'Brazil') 

    让我们再看看一些具体的实例

    一、给出人口多于Russia(俄国)的国家名称

    以下为引用的内容:

    SELECT name FROM bbc
    WHERE population>
    (SELECT population FROM bbc
    WHERE name='Russia') 

    二、给出'India'(印度), 'Iran'(伊朗)所在地区的所有国家的所有信息

    以下为引用的内容:

    SELECT * FROM bbc
    WHERE region IN
    (SELECT region FROM bbc
    WHERE name IN ('India','Iran')) 

    三、给出人均GDP超过'United Kingdom'(英国)的欧洲国家。

    以下为引用的内容:

    SELECT name FROM bbc
    WHERE region='Europe' AND gdp/population >
    (SELECT gdp/population FROM bbc
    WHERE name='United Kingdom') 

     

    更多相关内容
  • sql子查询 嵌套SELECT语句

    千次阅读 2015-04-02 13:15:23
    sql子查询/嵌套SELECT语句 嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用,也能够...

    本文转自 360DOC,作者:Autobest,时间:2015-4-2

    sql子查询/嵌套SELECT语句

    嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用,也能够出现在select list中,作为一个字段值来返回。

    1、单行子查询 :单行子查询是指子查询的返回结果只有一行数据。当主查询语句的条件语句中引用子查询结果时可用单行比较符号(=, >, <, >=, <=, <>)来进行比较。

    例:
    select ename,deptno,sal 
    from emp 
    where deptno=(select deptno from dept where loc='NEW YORK'); 

    2、多行子查询:多行子查询即是子查询的返回结果是多行数据。当主查询语句的条件语句中引用子查询结果时必须用多行比较符号(IN,ALL,ANY)来进行比较。其中,IN的含义是匹配子查询结果中的任一个值即可("IN" 操作符,能够测试某个值是否在一个列表中),ALL则必须要符合子查询的所有值才可,ANY要符合子查询结果的任何一个值即可。而且须注意ALL 和ANY 操作符不能单独使用,而只能与单行比较符(=、>、< 、>= 、<= 、<>)结合使用。

    例:

    1).多行子查询使用IN操作符号例子:查询选修了老师名叫Rona(假设唯一)的学生名字

    sql> select stName

    from Student

    where stId in(selectdistinct stId from score where teId=(select teId from teacher where teName='Rona'));

       查询所有部门编号为A的资料:

    SELECT ename,job,sal

    FROM EMP

    WHERE deptno in ( SELECT deptno FROM dept WHERE dname LIKE 'A%');
    2).多行子查询使用ALL操作符号例子:查询有一门以上的成绩高于Kaka的最高成绩的学生的名字:

    sql> select stName

    from Student

    where stId in(select distinct stId from score where score >all(select score from score where stId=(select stId from Student where stName= 'Kaka') ));
    3). 多行子查询使用ANY操作符号例子:查询有一门以上的成绩高于Kaka的任何一门成绩的学生的名字:

    sql> select stName

    from Student

    where stId in(select distinct stId from score where score >any(select score from score where stId=(select stId from Student where stName='Kaka')));

    3、多列子查询:当是单行多列的子查询时,主查询语句的条件语句中引用子查询结果时可用单行比较符号(=, >, <, >=, <=, <>)来进行比较;当是多行多列子查询时,主查询语句的条件语句中引用子查询结果时必须用多行比较符号(IN,ALL,ANY)来进行比较。

    例:
    SELECT deptno,ename,job,sal 
    FROM EMP 
    WHERE (deptno,sal) IN (SELECT deptno,MAX(sal) FROM EMP GROUP BY deptno); 

    4、内联视图子查询

    例:
    (1)SELECT ename,job,sal,rownum 
    FROM (SELECT ename,job,sal FROM EMP ORDER BY sal); 
    (2)SELECT ename,job,sal,rownum 
    FROM ( SELECT ename,job,sal FROM EMP ORDER BY sal) 
    WHERE rownum<=5; 

    5、在HAVING子句中使用子查询

    例:
    SELECT deptno,job,AVG(sal) FROM EMP GROUP BY deptno,job HAVING AVG(sal)>(SELECT sal FROM EMP WHERE ename='MARTIN');

    让我们再看看一些具体的实例,

      一、给出人口多于Russia(俄国)的国家名称

    SELECT name FROM bbc
    WHERE population>
    (SELECT population FROM bbc
    WHERE name='Russia')

      二、给出'India'(印度), 'Iran'(伊朗)所在地区的任何国家的任何信息

    SELECT * FROM bbc
    WHERE region IN
    (SELECT region FROM bbc
    WHERE name IN ('India','Iran'))

      三、给出人均GDP超过'United Kingdom'(英国)的欧洲国家.

    SELECT name FROM bbc
    WHERE region='Europe' AND gdp/population >
    (SELECT gdp/population FROM bbc
    WHERE name='United Kingdom')

    查考资料:

    http://www.west263.com/info/html/wangluobiancheng/Mysql/20080225/32087.html

    http://blog.csdn.net/rboyxxx/archive/2009/08/17/4455757.aspx

    sql子查询总结:

    许多包含子查询的 Transact-SQL 语句都可以改用联接表示。在 Transact-SQL 中,包含子查询的语句和语义上等效的不包含子查询的语句在性能上通常没有差别。但是,在一些必须检查存在性的情况中,使用联接会产生更好的性能。否则,为确保消除重复值,必须为外部查询的每个结果都处理嵌套查询。所以在这些情况下,联接方式会产生更好的效果。
    以下示例显示了返回相同结果集的Select子查询和Select联接:


    Select Name  
    FROM AdventureWor ks.Production.Product  
    Where ListPrice =  
         (Select ListPrice  
         FROM AdventureWor ks.Production.Product  
         Where Name = ’Chainring Bolts’ )  
       

    Select Prd1. Name  
    FROM AdventureWor ks.Production.Product AS Prd1  
         JOIN AdventureWor ks.Production.Product AS Prd2  
           ON (Prd1.ListPrice = Prd2.ListPrice)  
    Where Prd2. Name = ’Chainring Bolts’



    嵌套在外部Select语句中的子查询包括以下组件: 

    ●包含常规选择列表组件的常规Select查询。
    ●包含一个或多个表或视图名称的常规 FROM 子句。
    ●可选的 Where 子句。
    ●可选的 GROUP BY 子句。
    ●可选的 HAVING 子句。

    子查询的Select查询总是使用圆括号括起来。它不能包含COMPUTE 或 FOR BROWSE 子句,如果同时指定了 TOP 子句,则只能包含 or DER BY 子句。

    子查询可以嵌套在外部 Select,Insert,Update 或 Delete语句的 Where 或 HAVING 子句内,也可以嵌套在其他子查询内。尽管根据可用内存和查询中其他表达式的复杂程度的不同,嵌套限制也有所不同,但嵌套到 32 层是可能的。个别查询可能不支持 32 层嵌套。任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个值。

    如果某个表只出现在子查询中,而没有出现在外部查询中,那么该表中的列就无法包含在输出(外部查询的选择列表)中。

    包含子查询的语句通常采用以下格式中的一种: 

    ●Where expression [NOT] IN (subquery) 
    ●Where expression comparison_operator [ANY | ALL] (subquery) 
    ●Where [NOT] EXISTS (subquery)

    在某些 Transact-SQL 语句中,子查询可以作为独立查询来计算。从概念上说,子查询结果会代入外部查询(尽管这不一定是 Microsoft SQL Server 2005 实际处理带有子查询的 Transact-SQL 语句的方式)。

    有三种基本的子查询。它们是: 

    ●在通过 IN 或由 ANY 或 ALL 修改的比较运算符引入的列表上操作。
    ●通过未修改的比较运算符引入且必须返回单个值。
    ●通过 EXISTS 引入的存在测试。

    1.带in的嵌套查询

    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal in (select sal from scott.emp where ename=’’WARD’’); 
    上述语句完成的是查询薪水和WARD相等的员工,也可以使用not in来进行查询。

    2.带any的嵌套查询
    通过比较运算符将一个表达式的值或列值与子查询返回的一列值中的每一个进行比较,只要有一次比较的结果为TRUE,则ANY测试返回TRUE。

    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal >any(select sal from scott.emp where job=’’MANAGER’’); 
    等价于下边两步的执行过程:
    (1)执行“select sal from scott.emp where job=’’MANAGER’’”
    (2)查询到3个薪水值2975、2850和2450,父查询执行下列语句:
    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal >2975 or sal>2850 or sal>2450;



    3.带some的嵌套查询

    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal =some(select sal from scott.emp where job=’’MANAGER’’);
    等价于下边两步的执行过程:
    (1)子查询,执行“select sal from scott.emp where job=’’MANAGER’’”。
    (2)父查询执行下列语句。
    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal =2975 or   sal=2850 or sal=2450; 
    带【any】的嵌套查询和【some】的嵌套查询功能是一样的。早期的SQL仅仅允许使用【any】,后来的版本为了和英语的【any】相区分,引入了【some】,同时还保留了【any】关键词。

    4.带all的嵌套查询
    通过比较运算符将一个表达式的值或列值与子查询返回的一列值中的每一个进行比较,只要有一次比较的结果为FALSE,则ALL测试返回FALSE。 
    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal >all(select sal from scott.emp where job=’’MANAGER’’); 
    等价于下边两步的执行过程:
    (1)子查询,执行“select sal from scott.emp where job=’’MANAGER’’”。
    (2)父查询执行下列语句。
    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp where sal >2975 and sal>2850 and sal>2450;

    5.带exists的嵌套查询 

    select emp.empno,emp.ename,emp.job,emp.sal from scott.emp,scott.dept where exists (select * from scott.emp where scott.emp.deptno=scott.dept.deptno);

    6.并操作的嵌套查询

    并操作就是集合中并集的概念。属于集合A或集合B的元素总和就是并集。 
    (select deptno from scott.emp) union (select deptno from scott.dept); 

    7.交操作的嵌套查询

    交操作就是集合中交集的概念。属于集合A且属于集合B的元素总和就是交集。 

    (select deptno from scott.emp) intersect (select deptno from scott.dept); 

    8.差操作的嵌套查询

    差操作就是集合中差集的概念。属于集合A且不属于集合B的元素总和就是差集。
    (select deptno from scott.dept) minus (select deptno from scott.emp);
    注意:并、交和差操作的嵌套查询要求属性具有相同的定义,包括类型和取值范围。

    左手边是一个标量表达式列表.右手边可以是一个等长的标量表达式的列表, 或者一个圆括弧括起来的子查询,该查询必须返回很左手边表达式书目完全 一样的字段.另外,该子查询不能返回超过一行的数量.(如果它返回零行, 那么结果就是 NULL.)左手边逐行与右手边的子查询结果行,或者右手边 表达式列表进行比较.目前,只允许使用 = 和 <> 操作符进行逐行比较. 如果两行分别是相等或者不等,那么结果为真. 

    通常,表达式或者子查询行里的 NULL 是按照 SQL 布尔表达式的一般规则 进行组合的.如果两个行对应的成员都是非空并且相等,那么认为这两行 相等;如果任意对应成员为非空且不等,那么该两行不等; 否则这样的行比较的结果是未知(NULL)

    参考文献

    [1] Autobest. sql子查询 嵌套SELECT语句.[EB/OL]. http://www.360doc.com/content/11/0407/17/5789627_107867377.shtml.


    展开全文
  • 文章目录 从例子引入 小结 用子查询创建计算字段(注意完全限定列名) 小结 子查询这节有点难度了 子查询其实就是嵌套的查询,嵌套select语句,把多个有序的查询任务嵌套为一个select语句,逐步完成,从内到外执行...

    子查询这节有点难度了

    子查询其实就是嵌套的查询,嵌套的select语句,把多个有序的查询任务嵌套为一个select语句,逐步完成,从内到外执行

    之前遇到的select语句查询都是简单的查询,即只需要单个select语句

    在这里插入图片描述
    在这里插入图片描述
    以前还不支持子查询呢

    子查询主要用在关系表中,即数据库的多个表之间有关系,比如一个表存订单,列有顾客id,订单号;一个表存顾客信息,存了顾客联系方式,名字等;一个表存一个订单的所有物品和数量信息。

    下面通过例子来讲解子查询:

    从例子引入

    在这里插入图片描述
    要查订购了产品rgan01的所有顾客的信息,那就要三次select查询:

    • 先在orderitems表中查出订购了这个产品的订单号
    select order_num
    from OrderItems
    where prod_id = 'RGAN01';
    

    在这里插入图片描述

    • 然后根据订单号再去在orders表中查这些订单号的顾客编号
    select cust_id
    from orders
    where order_num in (20007, 20008);
    

    在这里插入图片描述

    • 再去customers根据顾客编号查询出想要的顾客信息
    select cust_name, cust_contact
    from customers
    where cust_id in (1000000004, 1000000005);
    

    在这里插入图片描述

    但是我们这么写很不方便,实际不可能这么写的,因为后一个操作依赖于前一个的结果,所以就要用到子查询,即嵌套查询,把三个查询整合为一个整体:

    select cust_name, cust_contact
    from customers
    where cust_id in (select cust_id
    				  from orders
                      where order_num in (select order_num
    									  from OrderItems
    									  where prod_id = 'RGAN01'));
    

    在这里插入图片描述
    在这里插入图片描述
    注意写这种嵌套查询一定要用缩进和分行,即代码格式化,增加可阅读性和维护性。这样代码的层次和结构分明,不易出错。
    在这里插入图片描述

    小结

    • 嵌套层数虽然没有限制,但不要嵌套太多
    • 嵌套其实效率并不高,还有更好的办法
    • 一定注意:每一个子查询只可以查一列数据!!!!上面的例子中都是1列
    • 注意分行和缩进的格式

    用子查询创建计算字段(注意完全限定列名)

    在这里插入图片描述
    这种需求是很可能发生的,每一个顾客的订单总数,不是已经有的列,需要计算,所以需要创建一个计算字段并用as关键字起个别名

    就是统计每一个顾客id在orders表中的出现行数。

    如果统计一个特定顾客的订单总数,很简单:

    select count(*) as cust_order_num
    from orders
    where cust_id = 1000000001;
    

    cust_order_num是一个计算字段
    在这里插入图片描述

    如果统计每一个顾客的订单总数,就要写一个子查询

    select 
    cust_name, 
    cust_state, 
    (select count(*) 
    from orders
    where orders.cust_id = customers.cust_id) as cust_order_num
    from Customers
    order by cust_name;
    

    cust_order_num是由圆括号的子查询创建的计算字段。

    这个子查询对检索到的每一个顾客都使用一次子查询
    在这里插入图片描述
    如果不用完全限定列名:

    select 
    cust_name, 
    cust_state, 
    (select count(*) 
    from orders
    where cust_id = cust_id) as cust_order_num
    from Customers
    order by cust_name;
    

    在这里插入图片描述
    结果出错了,这是因为DBMS认为orders表中的cust_id等于cust_id,自己当然等于自己,所以每一个顾客都输出了5,即订单表orders的总行数

    小结

    • 完全限定列名指定了表明和列名,在可能混淆的时候必须使用完全限定列名,如果DBMS不知道到底是哪个就会出错。
      在这里插入图片描述
    • 这种子查询一般用在where的in操作符中,也不一定,也可以用来创建select中的计算字段。
    展开全文
  • 关于电影公司的数据库设计建模 包括 select语句 子查询,语句嵌套
  • sql嵌套查询语句select a,b,c from tableD where a=(select a from tableD)sql嵌套查询语句select a,b,c from tableD where a=(select a from tableD)SQL中,在同一张表中用嵌套查询怎幺查需要用不同的别名....

    sql嵌套查询语句

    select a,b,c from tableD where a=(select a from tableD)

    sql嵌套查询语句

    select a,b,c from tableD where a=(select a from tableD)

    SQL中,在同一张表中用嵌套查询怎幺查

    需要用不同的别名.

    例如对tbl表的查询

    select * from tbl a where a.name in (select b.manager_name from tbl b)

    这里的别名a和b均指代tbl.

    数据库的SQL语句中,嵌套查询和连接查询有什幺区别,说的详细的

    嵌套就是类似IN语句,比如select * from table1 where id in (select id from table2),连接就是用JOIN把2表根据一个字段进行数据连接,区别就是连接查询效率比嵌套高,而且JOIN可以通过改变JOIN先后顺序,先扫描记录少的表,从而提高速度,如果嵌套会固定先搜索子查询

    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 = '魏国'

    )

    3,some嵌套查询

    select name from person

    where countryid = some --用等号和以下查询到的值比较,如果与其中一个相等,就返回

    (

    select countryid from country

    where countryname = '魏国'

    )

    4,all嵌套查询

    select name from person

    where countryid > all --当countryid大于以下返回的所有id,此结果才为True,此结果才返回

    (

    select countryid from country

    where countryname = '魏国'

    )

    5,exits嵌套查询

    SELECT * FROM Person

    WHERE exists

    (

    SELECT 1 --SELECT 0 SELECT NULL 返回结果都一样,因为这三个子查询都有结果集返回,因此总是True SELECT * FROM Person照常执行

    )

    但是如果子查询中因为加了条件而没有结果集返回,则主语句就不执行了:

    SELECT * FROM Person

    WHERE exists

    (

    SELECT * FROM Person

    WHERE Person_Id = 100 --如果不存在Person_Id的记录,则子查询没有结果集返回,主语句不执行

    )

    标准SQL嵌套查询语句

    在一个SELECT 语句的WHERE 子句或HAVING 子句中嵌套另一个SELECT 语句的查询称为嵌套查询,又称子查询。子查询是SQL 语句的扩展,例如下:

    select * from table1 where xh in

    (select xh from table2)

    sql语句update语句中嵌套的子查询该怎幺写?

    UPDATE?ccms_case_allot_count?SET

    org_code?=?BCTL.brno

    ,collector_name?=?INF.tlrno

    FROM?ccms_case_allot_count?CO

    LEFT?JOIN?sys_tlr_info?INF?ON?CO.collector?=?inf.tlr_name

    LEFT?JOIN?sys_bctl?BCTL?ON?INF.brcode?=?BCTL.brcode

    SQL中嵌套查询和子查询的区别?

    很详细的啊,你看看:[wenku.baidu.空白]

    2个sql语句嵌套在一起查不出数据,但是分开都能查出来

    你这个sql是想查 l.location_id =1623 and l.location=1622的数据幺。你这样查 可以将 e l s t 做成一个表,然后再和haj关联, 另外你下次直接来代码,不要给图了,看着不方便。你最好先描述一下你的需求,你这个结果是是个笛卡尔积呀。

    关于SQL DELETE嵌套子查询问题

    子查询:SELECT COUNT(*)FROM stock WHERE stock.manu_code = '145378'的返回值如果是1的话,你的SQL就会是:

    DELETE FROM stock WHERE 1 = 1

    那幺就会把所有数据删除的,所以SQL可以如下:

    DELETE FROM stock WHERE 1 = (SELECT COUNT(*) FROM stock WHERE stock.manu_code = '145378') AND stock.manu_code = '145378'

    展开全文
  • SQL 还允许创建子查询(subquery),即嵌套在其他查询中的查询。 说明:MySQL 支持 如果使用 MySQL,应该知道对子查询的支持是从 4.1 版本引入的。MySQL 的早期版本不支持子查询。 11.2 利用子查询进行过滤 订单存储...
  • 如何在SQL嵌套select语句

    千次阅读 2021-01-28 07:29:11
    5 个答案:答案 0 :(得分:2)子查询和加入适合您SELECT DISTINCT u1.UserIDFROMUserClicks u1INNER JOIN(SELECTUserIDFROMUserClicksWHERE(Date > :monthBeforeStartDate AND Date < :startDate)) u2ON u1....
  • sql子查询 嵌套SELECT语句 嵌套SELECT语句也叫子查询,一个 SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用,也能够出现在...
  • 深入浅出SQL教程之嵌套SELECT语句

    千次阅读 2019-01-08 04:44:21
    深入浅出SQL教程之嵌套SELECT语句 嵌套SELECT语句也叫子查询,形如: SELECT name FROM bbc WHERE region = (SELECT region FROM bbc WHERE name = 'Brazil') 一个 SELECT 语句的查询结果可以作为另一个语句的输入...
  • sql 子查询 嵌套查询In the real world, there are times when we need a particular set of data but we don’t have the exact details for getting the data set. In such cases, we try to get the information ...
  • 我在联系sql时,想做一个查询 学过001课程同时也学过002课程的同学的学号和姓名 的查询时,发现一个问题不理解: ``` select * from student s where (select count(*) from sc where cno = 'c01')>0 ``` 这样查询...
  • sql嵌套查询慢的原因

    2021-05-01 16:15:21
    为了查询一个字段,使用了五层嵌套循环,但是花费了约1分钟 但是5个表的数据每个最多只有10条,怎么会这么慢呢? 解决 比如查询语句 SELECT * FROM studet 分析器会先看语句的第一个词,如果它发现第一个词是SELECT...
  • SQL语句中的嵌套子查询

    万次阅读 多人点赞 2019-06-20 21:29:52
    SQL语句;相关子查询;求选修了所有课程的学生的学号
  • -带有EXISTS谓词的子查询 -集合查询 -基于派生表的查询 -Select总结 下午上次课学到了嵌套查询-3 今天我们来看一下 带有EXISTS谓词的子查询 3/20 15:30 EXISTS谓词: 存在量词 ∃ 带有EXISTS谓词的子查询不返回任何...
  • mysql 嵌套查询优化

    2021-10-12 00:05:04
    嵌套查询简单来说就是有子查询SQL语句子查询可以出现在SLECT, FROM或者WHERE 子句中,也可以单独用WITH子句来定义一个子查询。使用时子查询可以将一个复杂的查询拆分成一个个独立的部分,逻辑上更易于理解以及...
  • 一、子查询嵌套查询) 1、单行子查询 SELECT * FROM stu WHERE ID > (SELECT ID FROM stu WHERE NAME ='王五'); 2、多行子查询 --IN 在什么范围内 SELECT * FROM stu WHERE ID IN (SELECT ID FROM stu WHERE...
  • 标准SQL嵌套查询语句

    2020-12-24 14:02:22
    展开全部1、简单子查询62616964757a686964616fe78988e69d8331333433626530select name,age from personwhere age >(select age from personwhere name = '百度')2、in嵌套查询select name from personwhere ...
  • 展开全部 1、创建两张测试表 create ... 4、两表关联,并编写case when的语句 select t.*, case when b.id is not null then '存在' else '不存在' end flag from TEST_CASE1 t, TEST_CASE2 b where t.id = b.id(+)
  • SQL语句 - 嵌套查询

    千次阅读 2021-02-05 20:02:35
    嵌套查询的工作方式是:先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子查询中。一、子...
  • 嵌套SELECT语句子查询

    千次阅读 2016-06-29 16:17:50
    嵌套SELECT语句也叫子查询,形如:   SELECT name FROM bbc WHERE region = (SELECT region FROM bbc WHERE name = 'Brazil')   一个 SELECT 语句的查询结果可以作为另一个语句的输入值。   上面的SQL...
  • SELECT 语句SQL语句中最重要的语句,下面就将为大家介绍... 嵌套SELECT 语句也叫子查询,形如:  SELECT name FROM bbc WHERE region = (SELECT region FROM bbc WHERE name = 'Brazil')  一个 SELECT 语句...
  • SQL Server 数据库之嵌套查询

    千次阅读 2022-03-16 13:59:32
    SQL Server 数据 嵌套查询
  • SELECT:【例3.49】~【例3.59】 REF:教材3.4“数据查询”的部分例题 ...3.带有ANY(SOME)或ALL谓语的子查询 总结: 连接查询   若一个查询同时涉及两个以上的表,则称之为链接查询。 链接查询是关系数据库中最主
  • sql批量更新update嵌套select更新

    千次阅读 多人点赞 2021-05-28 16:35:02
    update u set u.city_no = c.city_no from user u inner join city c on u.city_uuid = c.city_uuid where u.city_uuid is not null and u.city_no is null 第二种方式(子查询) update u set u.city_no = (select ...
  • 数据库sql嵌套查询

    千次阅读 2021-04-14 16:12:19
    注意点:子查询select语句不能使用order by 子句,order by 只能对最终查询结果排序。 嵌套查询分类: 1、相关子查询/关联子查询子查询的查询条件依赖于父查询,比如,如果子查询需要执行多次,即采用循环的...
  • SQL嵌套SELECT语句是很常见的SQL语句,下面就为您详细介绍SQL嵌套SELECT语句的语法,并附相关示例,供您参考学习之用。嵌套SELECT语句也叫子查询,一个SELECT 语句的查询结果能够作为另一个语句的输入值。子查询不但...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 54,654
精华内容 21,861
关键字:

sql子查询嵌套select语句