mysql子查询

文章目录

  • 一、介绍
  • 二、使用


一、介绍

  • 子查询又叫嵌套查询
  • 一个查询结果作为另一个的查询的条件
-- 查询emp表中工资最高的员工信息
-- 1、先得到最高的工资是多少
select max(sal) from emp;

-- 2、工资=最高工资的员工
select * from emp where sal=?

-- 3、整合嵌套
select * from emp where sal=(select max(sal) from emp);

二、使用

  1. 写在where或having后面作为查询条件的值

  2. 写在from后面作为临时表使用

    -- 必须有别名
    select
        name
    from (select * from t_user where dept_id=1) t;
    
  3. 写在创建表的时候

    -- 相当于创建一个新表,把查询的结果导入到创建的表中,字段要对应
    create table tmp_user as
    (
        select
            name,
            sal,
            dept_id
        from t_user
        where dept_id=1
    );
    
    
  4. 写在创建视图的语句

你可能感兴趣的:(mysql,mysql,数据库)