|
一、查询基础语法类型
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='经理';
|
|