zoukankan      html  css  js  c++  java
  • MySql数据库_06

    2019年12月17日 星期二 CQCET

    复杂数据查询-内部查询(子查询)

    子查询效率相对多表连接查询效率更高,
    子查询就是一个select中在包含一个select,外层select叫外部查询,内部的叫内内部查询或子查询

    语法:
    在这里插入图片描述

    内部查询支持运算符查询
    比如:列表运算符 IN ;比较运算符 大于 小于等…

    比较运算符:
    在这里插入图片描述

    • IN的内部查询与应用

    kc和xs_kc两个表应用in查询。
    在这里插入图片描述
    根据xs_kc来查询kc里的选修情况,查询那些课程被选修过了。

    select 课程名,授课教师,学分 from kc where 课程号 in (select 课程号 from xs_kc);
    

    在这里插入图片描述

    根据xs_kc表里的课程号来查的
    在这里插入图片描述

    反之

    select 课程名,授课教师,学分 from kc where 课程号 not in (select 课程号 from xs_kc);
    

    在这里插入图片描述

    • 使用ANY的内部查询

    ANY子查询表示,只要查询中一行为真,则主查询where结果为真
    any有三种表达方式

    =ANY;>ANY(>=ANY)和<ANY(<=ANY)
    其中=any和in子查询一样;>any表示返回记录中最大值;<any表示返回记录着最小值。

     select * from xs_kc where 成绩>any (select 成绩 from xs_kc where 学号=2016110101 and 课程号 =101);
    

    在这里插入图片描述

    select * from xs_kc where 课程号=101 and 成绩<any (select 成绩 from xs_kc where 课程号=101 and 学号=2016110101);
    

    在这里插入图片描述

    • EXISTS子查询与应用
      exists是一个布尔类型,返回True或 False,作用是检查查询是否有返回值。

    在这里插入图片描述

    • ALL的子查询

    all查询有两种模式>all(>=all)和<all(<=all)
    其中>all表示返回记录最大值要大,<any表示返回记录最小值要小。

    它与any的不同点
    Any:>Any 表示至少大于一个值,即大于最小值。

    All: >All 表示大于每一个值。换句话说,它表示大于最大值

     select * from xs_kc where 课程号=102 and  成绩>all (select 成绩 from xs_kc where 课程号 = 102 and 学号=2016110101);
    

    在这里插入图片描述

    • 合并查询
      sql注入常用
      语法:
    select 列名 from 表名 union select 列名 from 表名2
    

    在这里插入图片描述
    union 会去掉同行
    union all 不会去掉同行

    在这里插入图片描述

    • 查询结果输出到其他表

    输出后它保持原有数据类型,属性保留非空属性和默认值属性。

    语法:

    create table 新表 select 列名 from 原表 where 条件;
    

    在这里插入图片描述

    备份xs_kc表

    在这里插入图片描述

    这种输出并不会保持原表的主键,外键约束等其它属性。

    在这里插入图片描述

  • 相关阅读:
    MYSQL数据库基础
    MSYQL操数据DML
    MYSQL外键约束
    MYSQL多表查询
    MYSQL结果排序、分页查询、聚合函数
    未能加载文件或程序集“System.Data.SQLite”或它的某一个依赖项”的解决方法
    由于扩展配置问题而无法提供您请求的页面。
    JS中的prototype(转载)
    mvc表单如何绑定bool类型的属性或变量
    使用c#正则验证关键字并找出匹配项
  • 原文地址:https://www.cnblogs.com/cqnswp/p/12568876.html
Copyright © 2011-2022 走看看