| 
 | 
 
 
 
 
一、查询基础语法类型 
 
1.SELECT:用于从数据库中选择数据。 
SELECT column1, column2, ...  
FROM table_name;
  2.WHERE:用于过滤结果集。SELECT column1, column2, ...  
FROM table_name  
WHERE condition;
  
3.ORDER BY:用于对结果集进行排序。SELECT column1, column2, ...  
FROM table_name  
ORDER BY column1 ASC/DESC;
  
4.JOIN:用于将两个或多个表中的数据组合在一起。SELECT column1, column2, ...  
FROM table1  
JOIN table2 ON table1.column_name = table2.column_name;
  
5.DISTINCT:用于返回唯一的结果集。 
SELECT DISTINCT column1, column2, ...  
FROM table_name;
  
7.GROUP BY:用于将结果集按照一列或多列进行分组。SELECT column1, COUNT(column2)  
FROM table_name  
GROUP BY column1;
  
8.HAVING:用于过滤分组后的结果集。SELECT column1, COUNT(column2)  
FROM table_name  
GROUP BY column1  
HAVING COUNT(column2) > 10;
  二、DQL基本查询语法 
1.查询多个字段 
select 字段1,字段2,字段3 ...from 表名; 
select *from 表名; 
 
2.设置别名 
select 字段1[as别名],字段2[as别名2]...from表名;select  name as '名字' from emp;
  
3.去除重复记录 
select distinct 字段列表 from 表名 
 
 
 
 
 
 
 
创建查询表案例 
CREATE TABLE emp(
    id INT COMMENT '编号',
    working VARCHAR(50) COMMENT '职位',
    name VARCHAR(50) COMMENT '姓名',
    age INT COMMENT '年龄',
    gender VARCHAR(2) COMMENT '性别' ,
    idcard char(18)   comment  '身份证号码',
    entrydate date comment '入职时间'
) COMMENT '员工信息表';
INSERT INTO emp (id, working, name, age, gender, idcard, entrydate)
VALUES
  (1, '职位1', '张三', 25, '男', '123456789012345678', '2023-01-01'),
  (2, '职位2', '李四', 30, '男', '234567890123456789', '2023-02-01'),
  (3, '职位3', '王五', 28, '女', '345678901234567890', '2023-03-01'),
  (4, '职位4', '赵六', 35, '男', '456789012345678901', '2023-04-01'),
  (5, '职位5', '钱七', 22, '女', '567890123456789012', '2023-05-01'),
  (6, '职位6', '孙八', 27, '男', '678901234567890123', '2023-06-01'),
  (7, '职位7', '周九', 33, '女', '789012345678901234', '2023-07-01'),
  (8, '职位8', '吴十', 29, '男', '890123456789012345', '2023-08-01'),
  (9, '职位9', '陈十一', 24, '女', '901234567890123456', '2023-09-01'),
  (10, '职位10', '肖十二', 31, '男', '012345678901234567', '2023-10-01');
-- 查询语法
select  name,working,age from emp;
select  idcard,name from emp;
select id, working, name, age, gender, idcard, entrydate from emp;
select * from emp;
  
三、dql条件查询 
 
1.select 字段列表 from 表名 where 条件列表; 
 
where后面可以跟得条件 
 
 
 
栗子代码 
 
针对的表 
 
 
 
 
-- 查询年龄等于25得员工
select  * from emp where  age=25;
-- 查询年轻小于35得员工
select * from emp where  age<30;
-- 查询没有身份证号得信息
select * from emp where  idcard='';
-- 查询年龄不等于25得员工
select * from emp where  age!=25;
select * from emp where  age<>25;
-- 查询年龄20~30得员工
select * from emp where  age>=20 && age<=30;
select * from emp where  age>=20 and age<=30;
select * from emp where age between 15 and 30;
-- 查询性别为女且年龄小于30
select * from emp where age<30 and gender='女';
-- 查询年龄小于30 或者是女得
select * from emp where  age<30 or gender='女';
-- 查询姓名两个字得员工 _下划线一个字母 %是人一个字符
select * from emp where name like  '___';
select * from emp where name like  '%';
-- 查询身份最后一个位6得员工
select * from emp where idcard like '9%'
  四、聚合函数 
 
聚合函数是指一列数据作为一个整体进行计算 
 
 
 
DQL (Data Query Language) 是 SQL 的一部分,用于从数据库中检索数据。在 DQL 中,聚合函数用于对查询结果进行统计和计算。以下是一些常见的 DQL 聚合函数: 
 
COUNT:计算查询结果集中的行数。 
SUM:计算查询结果集中指定列的总和。 
AVG:计算查询结果集中指定列的平均值。 
MAX:找出查询结果集中指定列的最大值。 
MIN:找出查询结果集中指定列的最小值。 
 
语法  
 
select 聚合函数(字段列表) from 表名; 
 
栗子 
-- 统计员工数量
select count(idcard) from emp;
select count(*) from emp;
-- 统计企业员工平均年龄
select  avg(age) from  emp;
-- 统计员工最大年龄
select  max(age) from  emp;
-- 统计员工最小年龄
select  min(age) from  emp;
-- 统计经理得平均年龄
select  * from emp where working='经理';
select sum(age)  from emp where working='经理';
select avg(age)  from emp where working='经理';
  
 
 
 | 
 
 
 
 
 
 |