SQL-DQL(数据库查询语言)

文章目录

  • DQL基本查询
  • DQL-聚合函数
  • DQL-分组查询
  • DQL-排序查询
  • DQL-分页查询
  • DQL-语句执行顺序


DQL基本查询

  1. 查询多个表
    select 字段1,字段2,... from 表名;
select id, name from user;
  1. 查询全部字段
    select * from 表名
select * from user;
  1. 条件查询
    select 字段1,字段2,... from 表名 where 条件;
select  id, name ,age from emp where gender='男';

DQL-聚合函数

  1. 将一列数据作为一个整体,进行纵向计算
  2. 常见聚合函数
函数 功能
count 求和
max 最大值
min 最小值
avg 平均数
sum 求和
  1. 语法
    select 聚合函数(字段列表) from 表名
// 数量  
select count(*) from emp;
// 平均数
select avg(age) from emp;
// 找最大年龄
select max(age) from emp;

DQL-分组查询

  1. 语法
    select 字段列表 from 表名 [where 条件] group 分组字段名 [having 分组后过滤条件]

  2. where 和 having 区别

     	执行时机不同:where是分组之前进行过滤,不满足where不参与分组;而having是分组之后进行过滤
     	判断条件不同:where不能对聚合函数进行判断,having可以;
    
select gender, count(*) from emp group by  gender;
	如:查询 年龄小于45的员工,并且根据工作地址分组,获取员工数量大于3的工作地址
select wordaddress, count(*) address_count from  emp where  age<45 group by  wordaddress having   address_count >3;

DQL-排序查询

  1. 语法
    select 字段列表 from 表名 order by 字段1 排序方式1, 字段2排序方式2;
  2. 排序方式:
    ASC:升序(默认值)
    DESC:降序
  • 根据年龄降序查看信息
select * from emp order by  age desc;
  • 根据年龄升序查看信息
select * from emp order by  age asc;
  • 根据年龄升序,如果年龄相同,按照card 降序排序
select * from emp order by age asc ,card desc;

DQL-分页查询

  1. 语法
    select 字段列表 from 表名 limit 起始索引, 查询记录数;
  • 查询emp表,前10个数据
select * from emp limit 0,10;

DQL-语句执行顺序

from
where
groupby
having
select
orderby
limit

你可能感兴趣的:(Mysql,数据库,sql,sqlserver)