MySql复习二.4 DQL语言 子查询 ,分页查询

子查询

一、含义

嵌套在其他语句内部的select语句称为子查询或内查询,

外面的语句可以是insert、update、delete、select等,一般select作为外面语句较多

外面如果为select语句,则此语句称为外查询或主查询

 

二、分类

1、按出现位置

select后面:

         仅仅支持标量子查询

from后面:

         表子查询

where或having后面:

         标量子查询

         列子查询

         行子查询

exists后面:

         标量子查询

         列子查询

         行子查询

         表子查询

 

2、按结果集的行列

标量子查询(单行子查询):结果集为一行一列

列子查询(多行子查询):结果集为多行一列

行子查询:结果集为多行多列

表子查询:结果集为多行多列

 

 

三、示例

where或having后面

1、标量子查询

案例:查询最低工资的员工姓名和工资

①最低工资

select min(salary) from employees

 

②查询员工的姓名和工资,要求工资=①

select last_name,salary

from employees

where salary=(

   select min(salary) from employees

);

 

2、列子查询

案例:查询所有是领导的员工姓名

①查询所有员工的 manager_id

select manager_id

from employees

 

②查询姓名,employee_id属于①列表的一个

select last_name

from employees

where employee_id in(

   select manager_id

   from employees

);

 

 

分页查询

 

一、应用场景

当要查询的条目数太多,一页显示不全

二、语法

 

select 查询列表

from 表

limit 【offset,】size;

注意:

offset代表的是起始的条目索引,默认从0卡死

size代表的是显示的条目数

 

公式:

假如要显示的页数为page,每一页条目数为size

select 查询列表

from 表

limit (page-1)*size,size;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章