zoukankan      html  css  js  c++  java
  • 数据库子查询

    子查询

        一个select中还包含另一个select,其中最里面的select语句称之为子查询

    根据select出现的位置可以将子查询分为以下几类:

    from子查询

    where子查询

    exists子查询

    从select返回的结果,那么子查询又可以分为:

    标量子查询

        查询的结果只有一个值。

    示例:

    需求:查询zhangsan所在的教室

    思路:

        首先,先写最终想得到查询==》教室    

            select room from class ......

        再行,条件==》查询zhangsan

            where id =(select c_id from stu where s_name='zhangsan')

    列子查询

        查询得到的结果,是一个一列多行的数据。

    需求:

        查询班级为php的所有的学生

    select * from stu where c_id =(select id from class where c_name='php');

        查询班级为php和ios的所有的学生

    select * from stu where c_id in (select id from class where c_name = 'php' or c_name='ios');

    示例:

    行子查询

        查询的结果是一行多列。

    需求:查询学生表中,sex为1,age为最大的记录

        select * from stu where (age,sex)=(select max(age),sex from stu where sex=1);

    示例:

    表子查询

        结果是一个表,相当于一个数据源,数据源放到from后

    需求:

        查询每一个班级中年龄最大的学生。

    示例:

    exists子查询

    exists相当于判断

    需求:

        查询php班级中有的学生

  • 相关阅读:
    软件测试学习-计算机基础知识
    《剑指offer》— JavaScript(4)重建二叉树
    《剑指offer》— JavaScript(3)从尾到头打印链表
    《剑指offer》— JavaScript(1)二维数组中的查找
    《剑指offer》— JavaScript(2)替换空格
    React学习笔记
    dislpay:flex布局
    JavaScript异步编程的方法
    test of CMSoft
    全局对象和全局函数
  • 原文地址:https://www.cnblogs.com/nyxd/p/5359687.html
Copyright © 2011-2022 走看看