精华内容
下载资源
问答
  • MySQL嵌套查询语句

    千次阅读 2019-06-13 15:11:15
    MySQL嵌套查询语句统计每个省的人口最多的与最少的城市 SELECT District,NAME,Population FROM city WHERE Population IN (SELECT MIN(Population) FROM city WHERE city.CountryCode='CHN' GROUP BY city.District...

    MySQL嵌套查询语句统计每个省的人口最多的与最少的城市

    SELECT District,NAME,Population FROM city WHERE Population IN (SELECT MIN(Population) FROM city 
    WHERE city.CountryCode='CHN'
    GROUP BY city.District)
    UNION
    SELECT District,NAME,Population FROM city WHERE Population IN (SELECT MAX(Population) FROM city 
    WHERE city.CountryCode='CHN'
    GROUP BY city.District)

    转载于:https://blog.51cto.com/9447803/2408441

    展开全文
  • 一、在Navicat中调试嵌套查询语句时总是报错,自己没有理解哪些地方要加括号,哪些地方要使用别名,总是报有语法错误,但是不知所云具体原因 只有这个知道其意义: MySql 1248 - Every derived table must have ...

    一、在Navicat中调试嵌套查询语句时总是报错,自己没有理解哪些地方要加括号,哪些地方要使用别名,总是报有语法错误,但是不知所云具体原因

    只有这个知道其意义:

    MySql 1248 - Every derived table must have its own alias

     

    二、查询资料

    一个查询中嵌套另一个查询,称为子查询

      1、子查询必须放在小括号里

      2、子查询可以出现在任意的位置。如(select,from,where,having等)

      

      语法:

        select(子查询)

        from(子查询) 别名

        where(子查询)

        group by

        having(子查询)

        例:

          查询工资比7566高的雇员工资

          select * from emp where sal>(select sal form emp where empno = 7566);

     

        总结

          1、一般来说,多表连接查询都可以使用子查询替代,但有的子查询不能使用多表查询替代

          2、子查询特点:灵活,方便,一般常作为增,删,该,查操作条件,适合于操作一个表数据

          3、多表连接查询更适合于查看夺标中数据

     

     

    select FAULT_ID, FAULT_NAME, DEVICE_NAME, FAULT_INFO, orderCondition

    FROM

    (

    SELECT * FROM

    (select id AS FAULT_ID, device_id, name AS FAULT_NAME, info AS FAULT_INFO from fdp_fault) as A

    LEFT JOIN

    (

    SELECT * FROM

    (select diagnose_faultid , count(diagnose_faultid) as orderCondition from FDP_TASK group by diagnose_faultid) AS B

    )

    AS C

    ON A.FAULT_ID=C.diagnose_faultid

     

    LEFT JOIN

    (SELECT id, NAME as DEVICE_NAME FROM fdp_device) as D

    ON A.device_id=D.id

     

    ORDER BY orderCondition DESC

    ) AS E

     

     

    如上使用了嵌套查询 和 多表连接。

     

    另外在使用模糊查询是,使用concat进行字符串连接处理,当传入字符串为空时,效果如 like '%%' 即查询所有信息

    <select id="pageSelectByFaultName" parameterType="string" resultMap="FaultResultMap">

    select A.ID AS FAULT_ID, A.NAME AS FAULT_NAME, B.NAME AS DEVICE_NAME, A.INFO AS FAULT_INFO

    from

    (select id, device_id, name, info from fdp_fault where name like

    concat(concat("%",#{faultName}),"%")

    or

    info like

    concat(concat("%",#{faultName}),"%")

    )

    as A

    JOIN fdp_device B

    ON A.DEVICE_ID=B.ID

    </select>

     

    路漫漫....

    展开全文
  • mysql嵌套语句查询

    万次阅读 2016-08-29 11:32:33
    嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询。其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。  嵌套查询的工作方式是...

     嵌套查询的意思是,一个查询语句(select-from-where)查询语句块可以嵌套在另外一个查询块的where子句中,称为嵌套查询。其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。

       嵌套查询的工作方式是:先处理内查询,由内向外处理,外层查询利用内层查询的结果嵌套查询不仅仅可以用于父查询select语句使用。还可以用于insert、update、delete语句或其他子查询中。

    一、子查询的组成

      1、包含标准选择列表组件的标准select查询。

      2、包含一个或多个表或者视图名称的标准from子句。

      3、可选的where子句。

      4、可选的group by子句。

      5、可选的having子句。

    二、子查询的语法规则

      1、子查询的select查询总是使用圆括号括起来。

      2、不能包括compute或for.browse子句。

      3、如果同时指定top子句,则可能只包括order by子句。

      4、子查询最多可以嵌套到32层。个别查询可能会不支持32层嵌套。

      5、任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个值。

      6、如果某个表只出现在子查询中二不出现在外部查询中,那么该表的列就无法包含在输出中。

    三、简单子查询

      示例:

    select name,age from person 
    where age > 
    (
        select age from person 
        where name = '孙权'
    )

       输出结果为:

       

    四、in嵌套查询

       in关键字用于where子句中用来判断查询的表达式是否在多个值的列表中。返回满足in列表中的满足条件的记录。

       示例:

    select name from person 
    where countryid in 
    (
        select countryid from country
        where countryname = '魏国'
    )

       输出结果为:

       

    五、some嵌套查询

      1、语法

      some在sql中的逻辑运算符号,如果在一系列比较中,有些值为True,那么结果就为True。some的语法是:

      <表达式>{ =|<>|!=|>|>=|!>|<|<=|!<}some(子查询)  

      示例:

    select name from person 
    where countryid = some       --用等号和以下查询到的值比较,如果与其中一个相等,就返回
    (
        select countryid from country
        where countryname = '魏国'
    )

      输出结果为:

      

    六、all嵌套查询

      all是sql中的逻辑运算符好,如果一系列的比较都为true,那么结果才能为true。

      1、语法

      <表达式>{ =|<>|!=|>|>=|!>|<|<=|!<}all(子查询)

      示例:

    select name from person 
    where countryid > all   --当countryid大于以下返回的所有id,此结果才为True,此结果才返回
    (
        select countryid from country
        where countryname = '魏国'
    )

      输出结果为:

      

    七、exists嵌套查询

       1、语法

       exists是sql中的逻辑运算符号。如果子查询有结果集返回,那么就为True。exists代表“存在”的意义,它只查找满足条件的那些记录。一旦找到第一个匹配的记录后,就马上停止查找。

      exists 子查询        

       其中子查询是一个首先的select语句,不允许有compute子句和into关键字。

       exists 的意思是,子查询是否有结果集返回。
       例如:

    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的记录,则子查询没有结果集返回,主语句不执行
    )
    展开全文
  • 包含多个数据实例,由简入繁,涉及各种函数的应用,多重完整嵌套查询。适合入门小白,面试知识点契合度高。
  • MYSQL嵌套查询(子查询),把内层的查询结果作为外层的查询条件牛逼PHP2019年10月07日364 views嵌套查询(子查询)1、定义 :把内层的查询结果作为外层的查询条件2、语法格式select ... from 表名 where 条件(select .......

    MYSQL嵌套查询(子查询),把内层的查询结果作为外层的查询条件

    牛逼PHP

    2019年10月07日

    364 views

    嵌套查询(子查询)

    1、定义 :把内层的查询结果作为外层的查询条件

    2、语法格式

    select ... from 表名 where 条件(select ....);

    3、示例

    1、把攻击值小于平均攻击值的英雄名字和攻击值显示出来

    1、先计算平均值

    select avg(gongji) from MOSHOU.sanguo;

    2、找到 < 平均值

    select name,gongji from MOSHOU.sanguo

    where gongji

    子查询:

    select name,gongji from MOSHOU.sanguo

    where

    gongji

    2、找出每个国家攻击力最高的英雄的名字和攻击值

    select name,gongji from sanguo

    where

    gongji in(select max(gongji) from sanguo group by country);

    ## 无BUG

    select name,gongji from sanguo

    where

    (country,gongji) in

    (select country,max(gongji) from sanguo group by country);

    蜀国:100

    魏国:200

    吴国:300

    吴国:三个英雄  300  200 100 (责任编辑:admin)

    展开全文
  • 本文实例分析了MySQL嵌套查询。分享给大家供大家参考,具体如下: MySQl从4.11版后已经完全支持嵌套查询了,那么下面举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual): 1. SELECT语句的子查询 语法: ...
  • MySQL嵌套查询详细笔记(子查询

    万次阅读 多人点赞 2017-11-06 18:08:36
    MySQL嵌套查询(子查询
  • mysql嵌套查询

    千次阅读 2017-04-01 10:39:30
    最近在MySQL上做了点工作,发现很多人都在询问MySQL嵌套查询的问题,许多人都觉得MySQL不支持嵌套查询,其实MySQl从4.11版后已经完全支持嵌套查询了,那么下面我举些简单的嵌套查询的例子吧(源程序来自MySQL User ...
  • MySQL嵌套查询

    2018-09-09 22:03:55
    定义:一个内层查询语句(select-from-where)块可以嵌套在另外一个外层查询块的where子句中,其中外层查询也称为父查询,主查询。内层查询也称子查询,从查询。子查询一般不使用order by子句,只能对最终查询结果进行...
  • MySQL 嵌套查询数据

    2019-08-31 16:56:00
    将一个查询嵌套在另一个查询块的WHERE子句或HAVING子句的条件中的查询称为嵌套查询。 上层的查询块称为外层查询或者父查询,下层的查询块称为内层查询或子查询。 SELECT 姓名 FROM XS WHERE 借书证号 IN ...
  • MySQL查询 嵌套查询

    万次阅读 多人点赞 2018-09-27 20:18:58
    注意:一般在子查询中,程序先运行在嵌套在最内层的语句,再运行外层。因此在写子查询语句时,可以先测试下内层的子查询语句是否输出了想要的内容,再一层层往外测试,增加子查询正确率。否则多层的嵌套使语句可读性...
  • 嵌套查询糟糕的优化在上面我提到过,不考虑特殊的情况,联表查询要比嵌套查询更有效。尽管两条查询表达的是同样的意思,尽管你的计划是告诉服务器要做什么,然后让它决定怎么做,但有时候你非得告诉它改怎么做。否则...
  • 使用T-SQL语句对数据表进行嵌套查询什么是嵌套查询单列查询多列多值嵌套查询带有 EXISTS谓词的子查询嵌套查询(子查询)实例 什么是嵌套查询 定义:在一个SELECT语句中的WHERE子句或HAVING子句中嵌套另一个SELECT...
  • mysql语句嵌套查询

    千次阅读 2018-09-29 16:53:01
    这个1064是语句有错误的标志: 正确的是
  • 请问mysql查询语句和access的查询语句是一样的吗?嵌套查询呢?最近面试卡在mysql嵌套查询,之前学过一会儿的access的查询,想问问是不是一样的?如果使用嵌套两者有什么分别?
  • MySQL查询嵌套查询

    万次阅读 多人点赞 2019-05-10 22:15:31
    一个查询语句嵌套在另一个查询语句内部的查询 常用操作符:ANY(SOME), ALL, IN, EXISTS 比较运算符:>, >=, <, <=, != 等 创建两个表,表明分别是tb1,tb2,并向其各插入了数据。 1.带ANY...
  • MySQL嵌套查询实例

    2017-03-05 09:55:25
    问题:现有如下数据表, ...查询2012年各个月充值最多的用户的qqnumber,要求根据qqnumber进行汇总(提示:一个qqnumber可能会有多个游戏角色数据,多条充值记录;paytime为充值时间,),请写出SQL语句。 创建的表
  • mysql 嵌套查询

    2017-01-14 16:00:18
    SELECT typeName ,name ,money ,down_Url, plug1.* from plug1 where name in ( SELECT name from (select count(*) as cishu ,name,typeName from plug1 group by name ,typeName ) t where t.cishu >
  • 今天在更新一条记录时,突然发现自己竟然连update时嵌套使用select都不会用。摸索着写了一条,还报错了。类似如下CREATE TABLE t3( num1 SMALLINT, num2 SMALLINT );INSERT INTO t3 VALUES(20,10),(30,40); num1 ...
  • MySQL查询语句

    2020-06-09 23:45:02
    数据库的基本查询语句,条件查询语句,连接查询语句嵌套查询语句
  • mysql 嵌套语句的写法

    千次阅读 2011-03-11 11:03:00
    SELECT语句的子查询: 语法:SELECT ... FROM 表1 WHERE 列1 = (SELECT ... FROM ... WHERE ....) <br />  2.SELECT语句的表查询 语法:SELECT ... FROM (SELECT....) AS TEMP_...
  • Mysql嵌套语句的应用

    千次阅读 2014-06-11 19:55:12
    INSERT INTO books (name) SELECT 'MySQL Manual' FROM dual WHERE NOT EXISTS (SELECT id FROM books WHERE id = 1)
  • 关于MySQL嵌套查询的问题

    千次阅读 2006-09-15 17:15:00
    发现很多人都在询问MySQL嵌套查询的问题,许多人都觉得MySQL不支持嵌套查询,其实MySQl从4.11版后已经完全支持嵌套查询了,那么下面我举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual):1. SELECT语句的...
  • MySQL嵌套查询

    2019-07-20 00:52:58
    发现很多人都在询问MySQL嵌套查询的问题,许多人都觉得MySQL不支持嵌套查询,其实MySQl从4.11版后已经完全支持嵌套查询了,那么下面我举些简单的嵌套查询的例子吧(源程序来自MySQL User Manual):1. SELECT语句的...
  • 优化mysql嵌套查询和联表查询

    万次阅读 2013-02-28 01:27:00
    嵌套查询糟糕的优化 在上面我提到过,不考虑特殊的情况,联表查询要比嵌套查询更有效。尽管两条查询表达的是同样的意思,尽管你的计划是告诉服务器要做什么,然后让它决定怎么做,但有时候你非得告诉它改怎么做。...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 47,182
精华内容 18,872
关键字:

mysql嵌套查询语句

mysql 订阅