SQL-DQL

一.DQL介绍

DQL英文全称是Data Query Language(数据库查询语言),数据查询语言,用来查询中心表的记录。

查询关键字:SELECT

二.语法结构

1.SELECT

字段列表

2.FROM

表名列表

3.WHERE

条件列表

4.GROUP BY

分组字段列表

5.HAVING

分组后条件列表

6.OROER BY

排序字段列表

7.LIMIT

分页参数

三.基本查询

1.查询多个字段

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

2.设置别名

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

3.去除重复记录

SELECT DISTINCT 字段列表 FROM 表名

4.删除表结构

drop  table 表名

5.查询所有数据的时候尽量不要写*

四.条件查询

1.语法

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

   WHERE:条件可以是一个或者是多个;

2.案例

3.查询年龄等于88的员工

select * from emp  where age=88;

4.查询年龄小于20的员工

select * from emp  where age=88;

5.年龄小于等于20

select * from emp  where age <= 88;

6.查询没有身份证号的员工

select * from emp  where idcard is null;

7.查询有身份证号的员工

select * from emp  where idcard is  not null;

8.查询年龄不等于88的员工

select * from emp  where idcard  age !=88;

或者

select * from emp  where idcard  age <> 88;

9.查询年龄在15岁(包含) 到20岁(包

select * from emp where age >=15 and  age<=20;

含)之间的员工信息

select * from emp where age >=15 &&  age<=20;

开发使用:

select * from emp where age >=15 and  age<=20;

select * from emp where age between 15 and 20;

10.查询性别为女 且年龄 小于25岁员工信息

select * from emp where gender="女" and age<25;

11.查询年龄等于18或者20或者40的员工信息

select * from emp where age=18 or age=20 or age=40;
select * from emp where age in(18,20,40)

12.查询姓名为两个字的员工信息

select * from emp where name like '__';
select * from emp where name like '___';

13.查询身份证号最后一位为X的员工信息

select * from emp where idcard like '%X';
select * from emp where idcard like '________________X';

%X表示前面有多少位无所谓,最后一位为X。

五.DQL-聚合函数

1.介绍

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

2.常见的聚合函数

3.语法

SELECT 聚合函数(字段列表) FROM 表名;

注意:null值不参与所有聚合函数运算;

4.案例(统计员工数量)

select count(*) from emp;
select count(id) from emp;

5.统计员工的平均年龄

select avg(age) from emp;

6.统计该企业员工的最大年龄

select  max(age) from emp ;

7.统计员工的最小年龄

select min(age) from emp ;

8.统计西安地区的员工年龄之和

select sum(age) from emp where workaddress="西安";

六.DQL-分组查询

1.语法

SELECT 字段列表 FROM 表名[WHERE 条件] GROUP BY 分组字段名[HAVING 分组后过滤条件]

2.where和having区别

1.执行时机不同:where是分组之前进行过滤,不满足where条件,不参与分组;而having是分组之后对对结果进行过滤。

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

3.根据性别分组,统计男性员工与女性员工的数量

select  gender , count(*) from age group by gender ;

4.根据性别分组,统计男性员工 和女性员工的平均年龄

select  gender , avg(age) from age group by gender ;

5.查询年龄小于45的员工,并根据工作地址分组,获取员工数量大于等于3的工作地址

select workadress,  count(*) from emp where age<45 group by workadress having count(*)>=3;

6.注意事项

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

2.分组之后,查询的字段一般为聚合函数和分组字段,查询其他字段没有任何意义。

相关推荐

  1. MySQL学习必备SQL_DDL_DML_DQL

    2024-07-10 05:14:05       35 阅读
  2. 数据库(SQL语句:DML&&DQL

    2024-07-10 05:14:05       37 阅读
  3. <span style='color:red;'>SQL</span>--<span style='color:red;'>DQL</span>

    SQL--DQL

    2024-07-10 05:14:05      36 阅读
  4. <span style='color:red;'>SQL</span>-<span style='color:red;'>DQL</span>

    SQL-DQL

    2024-07-10 05:14:05      27 阅读
  5. SQL中的DMLDDL以及DCL是什么?

    2024-07-10 05:14:05       50 阅读
  6. SQL_DQL_执行顺序

    2024-07-10 05:14:05       41 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-10 05:14:05       49 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-10 05:14:05       53 阅读
  3. 在Django里面运行非项目文件

    2024-07-10 05:14:05       42 阅读
  4. Python语言-面向对象

    2024-07-10 05:14:05       53 阅读

热门阅读

  1. hutool ExcelUtil 导出导入excel

    2024-07-10 05:14:05       22 阅读
  2. 模型计算量 MAC/FLOPs 的手动统计方法

    2024-07-10 05:14:05       19 阅读
  3. 构建自定义Tensorflow镜像时用到的链接地址整理

    2024-07-10 05:14:05       25 阅读
  4. 凸包——G - Highest Ratio

    2024-07-10 05:14:05       18 阅读
  5. 力扣第226题“翻转二叉树”

    2024-07-10 05:14:05       22 阅读
  6. QUdpSocket 的bind函数详解

    2024-07-10 05:14:05       21 阅读
  7. 代码随想录算法训练营第7天

    2024-07-10 05:14:05       25 阅读
  8. 关于美国服务器IP的几个常见问题

    2024-07-10 05:14:05       25 阅读
  9. html&css基础

    2024-07-10 05:14:05       22 阅读
  10. 【云原生】Kubernetes部署高可用平台手册

    2024-07-10 05:14:05       20 阅读