数据库select个人笔记

本文详细介绍了SQL的各种查询操作,包括SELECT语句的基础用法、聚合函数的应用、排序与分组、模糊搜索以及时间查询等。通过实例解析,帮助读者掌握如何在数据库中进行数据的高效检索和分析。同时,还探讨了SQL在实际业务场景中的应用,如找出平均工资低于部门平均水平的员工,以及筛选特定时间段内的记录等。
摘要由CSDN通过智能技术生成
SELECT DISTINCT * FROM 表名 去重查询,查询出的数据必须所有相同
SELECT name,(math+english,chinese) as 三科总分 FROM student  查询姓名和三课总分 并为新列起名为三科总分
SELECT name  FROM student WHERE math>english 查询student并且数学大于英语的成绩的人名

ORDER BY 升序排序	ORDER BY age DESC降序排序
SELECT count(*) FROM student 总数包含null的总数  SELECT count(列名)) FROM student 非null的总行数

和
SELECT sum(*) FROM student				    统计一列的和 
SELECT Max() FROM student				    计算某一列的最大值Min()为最小值

SELECT AVG(*) FROM student				    计算某一列的平均值	

模糊搜索
SELECT * FROM student WHERE name like '王%' 		    王字开头的搜索

SELECT * FROM student WHERE name like '王_'		    王字开头的搜索并且只有两个字符

SELECT * FROM student WHERE name like '%王%'		    含有王字的搜索
SELECT * FROM student WHERE name like '__王%'		    第三个字为王的

分组过滤	查找平均工资和部门分组统计并找出平均工资小于2000的
GROUP BY 对于查询的结果进行分组展示,having用于通过分组展示的结果进行限制展示
SELECT AVG(sal),deotno FROM emp GROUP BY deptno HAVING AVG(sal) <2000

时间 查询表中十分钟以内的发布新闻
SELECT * FROM new WHERE DATE_ADD(date,INTERVAL 10 MINUTE)>= now()

查询出现次数最多的
SELECT Email FROM  Person GROUP BY Email HAVING count(Email)>1

查询Person表中比部门30中其中一个薪资高的,可以换成all就是比所有人都高,和max,min类同
SELECT enam,sal,deptno  FROM  Person  WHERE sal >ANY (SELECT sal FROM Person WHERE deptno = 30)
 
自我复制
INSERT INTO my_table01(id,name,sal,job) SELECT empno,ename,sal,job,deptno FROM emp
INSERT INTO my_table01 SELECT * FROM my_table01

合并查询(将两个表的查询结果合并,不会去重)
SELECT *  FROM sutudent UNION ALL SELECT * FROM teacher

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值