SQL数据库DQL查询操作

语法

SELECT     字段列表

FROM     表名列表

WHERE     条件列表

GROUP BY     分组字段列表

HAVING     分组后条件列表

ORDER BY     排序字段列表

LIMIT     分页参数

基本查询

1.查询多个字段

SELECT 字段1,字段2,...FROM 表名;

SELECT * FROM 表名;、

2.设置别名

SELECT 字段1[AS 别名1],字段2[AS 别名2],... FROM 表名;

3.去除重复记录

SELECT DISTINCT 字段列表 FROM 表名;

条件查询

1.语法

SELECT 字段列表 FROM 表名 WHERE 条件列表;

2.条件

聚合函数

1.一列数据作为一个整体,进行纵向计算

2.常见的聚合函数

3.语法 : SELECT 聚合函数(字段列表)FROM 表名  

分组查询

1.语法:SELECT 字段列表 FROM 表名 [WHERE 条件] GROUP BY 分组字段名 [HAVING 分组后过滤条件];

2.where 和having的区别 

执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组,having是分组后

判断条件不同:where不能对聚合函数进行判断,having可以

执行顺序:where>聚合函数>having

排序查询(ORDER BY)

1.语法:SELECT 字段列表 FROM 表名 ORDER BY 字段1 排序方式1,字段2 排序方式2;

2.排序方式: ASC 升序 DESC 降序

分页查询(LIMIT)

1.语法:SELECT 字段列表 FROM 表名 LIMIT 起始索引,查询记录数;

-- 条件查询
-- 1.查询年龄等88的员工
select * from emp where age = 80;
-- 2.查询年龄小于20的员工信息
select * from emp where age < 20;
-- 3.查询年龄小于等于20的员工信息
select * from emp where age <= 20;
-- 4.查询没有身份证信息的员工信息
select * from emp where idcard is null;
-- 5.查询有身份证号的员工信息
select * from emp where idcard is not null ;
-- 6.查询年龄不等于88的员工信息
select * from emp where age <> 88;
-- 7.查询年龄在15岁到20岁的员工信息
select * from emp where age between 15 and 20;
-- 8.查询性别是女且年龄小于25岁的员工信息
select * from emp where gender = '女' and age < 25;
-- 9.查询年龄等于18或20或40的员工信息
select * from emp where age = 18 or age = 20 or age = 40;
select * from emp where age in (18,20,40);
-- 10.查询姓名为两个字的员工信息
select * from emp where name like '__';
-- 11.查询身份证号最后一位是x的员工信息
select * from emp where idcard like '%X';

-- 聚合函数
-- 1.统计该企业员工数量
select count(*) from emp;
-- 2.统计该企业员工的平均年龄
select avg(age) from emp;
-- 3.统计最大年龄
select max(age) from emp;
-- 4.统计最小年年龄
select min(age) from emp;
-- 5.统计上海地区的年龄之和
select sum(age) from emp where workadress = '上海';

-- 分组函数
-- 1.根据性别分组,统计男性员工和女性员工的数量
select gender, count(*) from emp group by gender;
-- 2.根据性别分组,统计男性员工和女性员工的平均年龄
select gender, avg(age) from emp group by gender;
-- 3.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址
select workadress, count(*) from emp where age < 45 group by workadress having count(*)>= 3;

-- 排序查询
-- 1.根据年龄对员工进行升序排序
select * from emp order by age asc ;
-- 2.根据入职时间,进行降序排序
select * from emp order by entrydate desc ;
-- 3.根据年龄对员工进行升序排序 年龄相同根据入职时间,进行排序
select * from emp order by age asc ,entrydate asc ;

-- 分页查询
-- 1.查询第一页员工记录,每页展示10条数据
select * from emp limit 0,10;
-- 2.查询第二页员工记录,每页展示10条数据
select * from emp limit 10,10;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值