sql查询语句汇总,先撸为敬

史上最全SQL语句大全:从基础到进阶一网打尽 SQL(结构化查询语言)是关系型数据库管理系统(RDBMS)中用于管理和操作数据的标准语言。SQL提供了一种简洁、高效的方式来操作数据库,进行数据查询、插入、更新和删除等任务。无论是数据库管理员、开发者还是数据分析师,都离不开SQL语句的使用。本文将介绍一系列常用的SQL语句,包括数据查询、数据操作、表管理和高级查询等,让你轻松掌握SQL的基本操作。 阅读详情

一、简单查询语句
group by 和having的区别  链接


二、复杂查询

1. 数据分组(max,min,avg,sum,count)

SQL>SELECT MAX(sal),MIN(age),AVG(sal),SUM(sal) from emp;

SQL>SELECT * FROM emp where sal=(SELECT MAX(sal) from emp));

SQL>SELEC COUNT(*) FROM emp;

2. group by(用于对查询结果的分组统计) 和 having子句(用于限制分组显示结果)

SQL>SELECT deptno,MAX(sal),AVG(sal) FROM emp GROUP BY deptno;

SQL>SELECT deptno, job, AVG(sal),MIN(sal) FROM emp group by deptno,job having AVG(sal)<2000;

对于数据分组的总结:

a. 分组函数只能出现在选择列表、having、order by子句中(不能出现在where中)

b. 如果select语句中同时包含有group by, having, order by,那么它们的顺序是group by, having, order by。

c. 在选择列中如果有列、表达式和分组函数,那么这些列和表达式必须出现在group by子句中,否则就是会出错。

使用group by不是使用having的前提条件。

3. 多表查询
 

SQL>SELECT e.name,e.sal,d.dname FROM emp e, dept d WHERE e.deptno=d.deptno order by d.deptno;

SQL>SELECT e.ename,e.sal,s.grade FROM emp e,salgrade s WHER e.sal BETWEEN s.losal AND s.hisal;


4. 自连接(指同一张表的连接查询)

SQL>SELECT er.ename, ee.ename mgr_name from emp er, emp ee where er.mgr=ee.empno;


5. 子查询(嵌入到其他sql语句中的select语句,也叫嵌套查询)

5.1 单行子查询

SQL>SELECT ename FROM emp WHERE deptno=(SELECT deptno FROM emp where ename='SMITH');

查询表中与smith同部门的人员名字。因为返回结果只有一行,所以用“=”连接子查询语句


5.2 多行子查询

SQL>SELECT ename,job,sal,deptno from emp WHERE job IN (SELECT DISTINCT job FROM emp WHERE deptno=10);

查询表中与部门号为10的工作相同的员工的姓名、工作、薪水、部门号。因为返回结果有多行,所以用“IN”连接子查询语句。


in与exists的区别: exists() 后面的子查询被称做相关子查询,它是不返回列表的值的。只是返回一个ture或false的结果,其运行方式是先运行主查询一次,再去子查询里查询与其对 应的结果。如果是ture则输出,反之则不输出。再根据主查询中的每一行去子查询里去查询。in()后面的子查询,是返回结果集的,换句话说执行次序和 exists()不一样。子查询先产生结果集,然后主查询再去结果集里去找符合要求的字段列表去。符合要求的输出,反之则不输出。

5.3 使用ALL

SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ALL (SELECT sal FROM emp WHERE deptno=30);
或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MAX(sal) FROM emp WHERE deptno=30);

查询工资比部门号为30号的所有员工工资都高的员工的姓名、薪水和部门号。以上两个语句在功能上是一样的,但执行效率上,函数会高 得多。


5.4 使用ANY

SQL>SELECT ename,sal,deptno FROM emp WHERE sal> ANY (SELECT sal FROM emp WHERE deptno=30);
或SQL>SELECT ename,sal,deptno FROM emp WHERE sal> (SELECT MIN(sal) FROM emp WHERE deptno=30);

查询工资比部门号为30号的任意一个员工工资高(只要比某一员工工资高即可)的员工的姓名、薪水和部门号。以上两个语句在功能上是 一样的,但执行效率上,函数会高得多。


5.5 多列子查询

SQL>SELECT * FROM emp WHERE (job, deptno)=(SELECT job, deptno FROM emp WHERE ename='SMITH<span style="font-family: Arial, Helvetica, sans-serif; background-color: rgb(255, 255, 255);">');</span>


5.6 在from子句中使用子查询

SQL>SELECT emp.deptno,emp.ename,emp.sal,t_avgsal.avgsal FROM emp,
SELECT emp.deptno,avg(emp.sal) avgsal FROM emp GROUP BY emp.deptno) t_avgsal where emp.deptno=t_avgsal.deptno 
AND emp.sal>t_avgsal.avgsal ORDER BY emp.deptno;


5.7 分页查询

数据库的每行数据都有一个对应的行号,称为rownum.

SQL>SELECT a2.* FROM (SELECT a1.*, ROWNUM rn FROM (SELECT * FROM emp ORDER BY sal) a1 WHERE ROWNUM<=10) a2 WHERE rn>=6;




指定查询列、查询结果排序等,都只需要修改最里层的子查询即可。

5.8 用查询结果创建新表

SQL>CREATE TABLE mytable (id,name,sal,job,deptno) AS SELECT empno,ename,sal,job,deptno FROM emp;


5.9 合并查询(union 并集, intersect 交集, union all 并集+交集, minus差集)

SQL>SELECT ename, sal, job FROM emp WHERE sal>2500 UNION(INTERSECT/UNION ALL/MINUS) SELECT ename, sal, job FROM emp WHERE job='MANAGER';


合并查询的执行效率远高于and,or等逻辑查询。

5.10 使用子查询插入数据

SQL>SELECT ename, sal, job FROM emp WHERE sal>2500 UNION(INTERSECT/UNION ALL/MINUS) SELECT ename, sal, job FROM emp WHERE job='MANAGER';

先建一张空表;

SQL>INSERT INTO myEmp(empID, name, sal, job, dept) SELECT empno, ename, sal, job, deptno FROM emp WHERE deptno=10; 

再将emp表中部门号为10的数据插入到新表myEmp中,实现数据的批量查询。


5.11 使用了查询更新表中的数据

SQL>UPDATE emp SET(job, sal, comm)=(SELECT job, sal, comm FROM emp where ename='SMITH') WHERE ename='SCOTT';

SQL常用语句(基础)大全 数据控制语言:用来授权或回收访问数据库的某种特权,并控制数据库操纵事务发生的时间及效果,能够对数据库进行监视。DQL是数据查询语言,主要就是select配合其他限制条件的关键字进行查询。如果查询数据的来源来自多张表,则必须对这些表进行连接查询。DDL是数据定义语言,主要是对数据库和数据表的操作。只有当第一个排序条件值一样,才会执行第二个排序条件。左外连接:是表1和表2的交集再并上表1的其他数据。右外连接:是表1和表2的交集再并上表2的其他数据。DML是数据操作语言,主要是对数据表的操作。 阅读详情

相关推荐

SQL常用查询语句汇总

SQL查询关键字为SELECT,常用查询语句代码及结果如下(本文使用MySQL数据库管理系统): -- 1检索单个列 SELECT prod_name FROM Products; -- 2检索多个列 SELECT prod_id, prod_name, prod_price FROM Products; -- 3检索所有列 SELECT * FROM Products; -- 4、5检索不同的值 SELECT DISTINCT vend_id FROM Products; SELECT DIST

weixin_37538370的博客 4478

常用SQL查询语句

一、简单查询语句 1. 查看表结构 SQL&gt;DESC emp; 2. 查询所有列 SQL&gt;SELECT * FROM emp; 3. 查询指定列 SQL&gt;SELECT empmo, ename, mgr FROM emp; SQL&gt;SELECT DISTINCT mgr FROM emp; 只显示结果不同的项 4. 查询指定行 SQL&gt;SELECT ...

weixin_34126557的博客 866

Autodesk全家桶:从AutoCAD到Maya,设计师必备的7款神器全解析

本文全面解析Autodesk全家桶中的7款设计师必备软件,包括AutoCAD、Revit、Inventor、Fusion 360、Maya和3ds Max等。从二维制图到三维建模,从建筑信息模型(BIM)到影视动画制作,这些工具在工程设计、建筑可视化和数字创意领域展现出强大的协同效应。通过实战案例展示如何整合工作流,显著提升设计效率与项目质量。

weixin_29237635的博客 460

MySQL知识总结一(基础)

MySQL知识总结一(基础)

木子Teng的博客 1244

红外图像处理实战:用MATLAB实现时域高通滤波(THPF)去噪(附完整代码)

本文详细介绍了如何利用MATLAB实现时域高通滤波(THPF)算法进行红外图像去噪,包括核心原理、工程实现要点和完整代码示例。通过分析时间窗口选择、空域预处理优化和自适应参数调整等关键点,帮助开发者有效抑制固定图案噪声,适用于无人机载红外监测和安防监控等场景。

weixin_42783709的博客 183

Windows下用RKDevTool解包update.img的完整流程(含常见错误排查)

本文详细介绍了在Windows系统下使用RKDevTool工具解包update.img固件的完整流程。从工具准备、环境搭建到逐步解包操作,重点解析了输出文件结构,并提供了修改分区后重新打包的实战方法。文章还针对解包失败、打包错误等常见问题提供了详细的排查与解决方案,旨在帮助嵌入式开发者和爱好者高效完成固件分析与定制工作。

aa123的博客 715

SQL语句-小记录

1.SQL语句 2. 一、基础 1.1、说明:创建数据库 2.CREATE DATABASE database-name 3.2、说明:删除数据库 4.drop database dbname 5.3、说明:备份sql server 6.— 创建 备份数据的 device 7.USE master 8.EXEC sp_addumpdevice ‘disk’, ‘testBack’, ‘c:\mss...

weixin_45412748的博客 1330

MacOS多次踩坑后成功安装Homebrew

来一次性成功安装Homebrew吧 官网提供的安装脚本无法成功安装Homebrew,原因大家都懂的,故采用脚本安装的方式。 下载homebrew的安装脚本brew_install 在Download路径下执行如下脚本 curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install >> brew_install 修改brew_install脚本 修改brew_install脚本。如果你的脚本打开之后是如下

weixin_41847116的博客 1981

sql 查询明细并汇总_SQL查询语句-汇总分析

一、SQL汇总查询语句1、汇总函数2、汇总函数举例①求某列的行数select count(教师姓名) from teacher;②求所有列的行数select count(*) from teacher;求某列数据删除重复值后的行数select count(distince 姓名) from student③求某列数据之和select sum(成绩) from score;④求某列数据的平均值...

weixin_39725873的博客 8459

Python模拟发送SOME/IP消息(Scapy模块)

SOMEIP提供服务、订阅、响应、通知等Python代码示例

liluo0815481的博客 3068

延迟相乘叠加求和 DMAS (Field II 仿真代码)

(Delay Multiply and Sum, DMAS)算法,最初是为雷达微波系统设计的,研究者们对 DMAS 波束合成方法进行了修改,并应用超声成像。结果表明,DMAS 波束合成在模拟和实验中的表现都优于传统的延时叠加(Delay and Sum, DAS),这种新方法带来的主要改进是对比度分辨率明显提高(即主瓣和侧瓣更窄),从而增加了动态范围,提高了 B 型超声图像质量。与传统 DAS 相似,DMAS 算法通过对来自超声换能器阵元的信号应用几何计算延迟来聚焦接收到的波束。

weixin_38452364的博客 3083

mysql 查询语句汇总学习

数据库的操作作为计算机行业的必备技能,这里将用的最多的数据库查询语句汇总到这里(参考链接:https://blog.youkuaiyun.com/github_37767025/article/details/67636061),供大家交流学习 (一)单表查询 1.查询一张表:     select * from 表名;   2.查询指定字段:select 字段1,字段2,字段3….from 表名; ...

赵凯的博客 2万+

手机开发实战58——小区广播介绍2

业务 针对小区广播短消息的特点,可以提供一些基于目前短消息不能或不适合提供的服务: 1. 显示网络服务基站名称:用户可以随时了解手机登记在哪个基站下,特别是在边界交叉覆盖区域,用户可以清楚的知道通话建立在哪个基站下,在用户投诉和故障描述中也会有所帮助; 2. 提供用户问候信息:可以在覆盖机场、车站等地区的基站广播一些用户问候语或一些企业形象广告语; 3. 充分利用小区广播地

xjbclz的专栏 772

常用SQL语句汇总(主要为查询语句)

本文主要为一些常用的SQL语句。以查询为主,部分为常用的增、删、改语句。

weixin_52785140的博客 5974

Allegro如何设置走线自动删除重复走线操作指导

Allegro如何设置走线是自动删除重复走线操作指导在PCB布线的时候,点到点需要重复走一段线的时候,希望原来的线段自动被删除,Allegro设计的时候支持这个操作如下图,重复走中间的线段的时候,希望下方的走线自动删除具体操作如下This section is describe what the function allegro have ,helpfully could let user know more about allegroAllegro Design and Analysis includes

weixin_54787054的博客 4498

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

sql基础语句汇总_SQL查询语句-汇总分析

一、SQL汇总查询语句1、汇总函数2、汇总函数举例①求某列的行数select count(教师姓名) from teacher;②求所有列的行数select count(*) from teacher;求某列数据删除重复值后的行数select count(distince 姓名) from student③求某列数据之和select sum(成绩) from score;④求某列数据的平均值...

weixin_28711397的博客 6256

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

SQL查询语句汇总

我们学习必然是为了找到高薪的工作,下面这些。

nhb687096的博客 1387

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

SQL查询语句-汇总分析

求某列数据删除重复值后的行数select count(distince 姓名) from student。列名 (not) in ( ):查询结果是括号里的内容返回值1,排在后面;否则返回值0,排在前面。错误1:在分组条件having中使用了查询结果select里的别名。错误3:在创建表时把数值数据设置成字符串数值。错误2:在行条件where后使用了汇总函数。

ctmedia的博客 3405

sql查询语句_多字段分类汇总_多表合并

一、最初(最简单的入门实例,单个分类汇总) 1,查询语句/*药品费用分科室汇总*/ select c.sksxx02,sum(nvl(b.nfyxx06,0))         from yygli60 a,yygli30 b,yygl140 c,yygl101 d

k486的专栏 2万+

Windows server 2016——SQL server T-SQL查询语句

本系列文章将会讲解SQL server 中 server T-SQL查询语句,并且会同步视频进行安装讲解。视频教程:Windows server 2016——SQL server 数据库和表的管理SQL Server是由微软公司开发的关系型数据库管理系统,现在是全世界主流数据库之一。它具备方便使用、可伸缩性好、相关软件集成程度高等优势,能够从单一的笔记本上运行或以高倍云服务器集群为基础,或在这两者之间任何一种方式上运行。SQL (结构化查询语言)关系数据库的标准语言非过程化语言统一的语言。

yj11290301的博客 6611

sql月度汇总_sql月份汇总查询语句

sql月份汇总查询语句select '铅笔' as [月份],sum(case month(日期) when 1 then 铅笔 else 0 end) as [1月],sum(case month(日期) when 2 then 铅笔 else 0 end) as [2月],sum(case month(日期) when 3 then 铅笔 else 0 end) as [3月],sum(cas...

weixin_35765226的博客 1625

HQL(Hive SQL) 之查询语句专题汇总

HQL(Hive SQL) 之查询语句专题汇总 1. 背景 hive本身是一个将sql语句转换为mapreduce 程序运行的转换器 hive可以把结构化数据转换到一张表上,并提供查询和分析的功能 针对这个过程,hive从sql优化、从mapreduce优化这2个大的角度来提升hive的性能表现。 sql优化,这个基于现有的第三方组件是比较成熟的技术解决方案。但优化mapreduce则需要更多精力。因为mapreduce代码是根据模板,将sql经过这个模板,转换为mapreduce程序。 hive本身是一

xiaohu21的博客 2483

[数据库】sql 查询语句 汇总

本文记录学习SQL查询语句的汇总 使用时,是关键字,表示将要执行一个查询,表示“所有列”,表示将要从哪个表查询例如,要指定条件“分数在80分或以上的学生”,写成条件就是。其中,关键字后面的就是条件。是列名,该列存储了学生的成绩,因此,就筛选出了指定条件的记录: 3.投影查询 例如,从表中...

weixin_54739737的博客 2万+

SQL 查询语句汇总

在软件开发和数据分析中,SQL(结构化查询语言)是与数据库交互的重要工具。为了更好地理解 SQL 查询语句的使用,本文将设计一个简单的数据库,包括几张表,并通过这些表展示各种 SQL 查询的应用。

码上飞扬的博客 1100
上一篇: 关于p操作和v操作的理解
下一篇: 我的python学习之路
code_AC
博客等级 码龄12年 255粉丝 109原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值