6.DQL查询sql语句学习笔记

[复制链接]
查看: 1031   回复: 0

250

主题

250

帖子

1389

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
1389
2023-9-9 16:22:18   显示全部楼层   阅读模式  
1.jpg

一、查询基础语法类型

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 表名

1.png

2.png

创建查询表案例
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后面可以跟得条件
3.png

栗子代码

针对的表

4.png

-- 查询年龄等于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='经理';



回复

使用道具 举报

您需要登录后才可以回帖   登录 立即注册

高级模式

南通谢凡软件科技有限公司