Sql语法3

数据库语言大概可以分为四大类

    1、DML:(Database Manipulation Language):insert,update,delete
    2、DQL:(Database Query Language):select
    3、DCL:(Database Control Language):grant ,commit ,rollback
    4、DDL:(Database Declare Language):create ,drop ,alter

emp员工表结构如下:

1.Name     Type         Nullable Default Comments   
2.-------- ------------ -------- ------- --------   
3.EMPNO    INT                             员工号         
4.ENAME    VARCHAR(10)     Y              员工姓名         
5.JOB      VARCHAR(9)      Y              工作         
6.MGR      INT            Y              上级编号         
7.HIREDATE DATE             Y              雇佣日期         
8.SAL      DOUBLE            Y              薪金         
9.COMM     DOUBLE            Y              佣金         
10.DEPTNO   INT               Y              部门编号 

dept部门表:

1.Name   Type         Nullable Default Comments   
2.------ ------------ -------- ------- --------   
3.DEPTNO INT                                部门编号          
4.DNAME  VARCHAR(14)      Y               部门名称       
5.LOC    VARCHAR(13)      Y               地点    

DQL语句:

基本语法:

select [distinct] * | 指定列名 from 表名
[where 条件] --分组前数据筛选
[group by 分组字段]
[having 条件] --分组后数据筛选
[order by 排序字段 asc | desc]; --一定在最后

1、查询所有数据

select * from emp;--员工表
select * from dept;--部门表
select * from salgrade;--薪水等级表

2、查询指定列数据,效率高于查所有列数据(要什么查什么)

select email from userinfo;--2.901s

3、查询不包含重复记录 distinct

--查询该公司设置了哪些岗位
select distinct job from emp;
--查询该公司设置了几个岗位
select count(distinct job) from emp;
 

4、指定列别名:列名 as "别名"

1)as和双引号可以省略
2)如果别名包含特殊符号或别名是关键字,则必须使用双引号
select count(distinct job) as "岗位个数" from emp;
select count(distinct job) 岗位个数 from emp;
select count(distinct job) "岗位 个数" from emp;

5、筛选结果集:直接加where条件

1)并且 and,或者 or,非 not
2)mysql中语法不区分大小写,但是数据值区分大小写
--查询部门10且薪水超过2K的员工
select * from emp where deptno=10 and sal>=2000;
--查询部门20或者岗位为CLERK的员工
select * from emp where deptno=20 or job='CLERK';

6、排序:order by 排序字段 asc | desc

--查询员工信息,按薪水降序排序
select * from emp order by sal desc;
--查询员工信息,要求同部门员工在一起,且按薪水降序
select * from emp order by deptno,sal desc;

7、连接查询:从多张表中获取综合数据

1)内连接,A [inner] join B on 等值条件
2)外连接,A left|right|full [outer] join B on 等值条件
--查询员工的姓名和部门名称
select ename,dname from emp e inner join dept d
on e.deptno=d.deptno;
--查询员工的姓名和部门名称(包括没有员工的部门)
select ename,dname from emp e right join dept d
on e.deptno=d.deptno;

8、交叉连接,生成笛卡尔积,A、B两表记录一一组合

select * from emp cross join dept;

9、子查询:在SQL语句中嵌套查询

1)单行子查询,一般和关系运算符连用
--查询与SMITH同部门的员工
select * from emp where deptno=
(select deptno from emp where ename='SMITH');

2)多行子查询,一般和in,not in连用
--查询与部门10员工同岗位的员工
select * from emp where job in
(select job from emp where deptno=10);

3)多列子查询,多个条件
--查询与SMITH同部门同岗位的员工
select * from emp where (deptno,job)=
(select deptno,job from emp where ename='SMITH');

4)内联视图子查询,作为数据源使用
select * from (select * from emp);
--使用group by统计该公司设置了几个岗位
select count(*) 岗位个数 from
(select job from emp group by job);

10 分页查询:limit
-- 工资前五的员工
SELECT * FROM emp ORDER BY sal DESC LIMIT 0,5

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/17419.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

无状态程序设计的本质

无状态程序设计 无状态程序设计是一种软件设计理念,它主要强调的是请求处理的独立性和无记忆性。以下是对无状态程序设计的详细解释: 无状态的含义: 无状态并不意味着系统内没有数据,而是指服务器在处理单次请求时,不…

前端面试问题:子组件的某一个方法调用执行逻辑由父组件的属性状态变化来决定

面试官:请你讲讲你在该项目中遇到的问题是什么?你怎么解决这个问题? 答:我的回答:该项目的实现过程中我确实遇到了问题:【我会给大家整理回答思路和角度,那那么遇到这样的问题也可借鉴这种思路…

【Go专家编程——内存管理——逃逸分析】

逃逸分析 逃逸分析(Escape Analysis)是指由编译器决定内存分配的位置,不需要程序员决定。 在函数中申请一个新的对象 如果分配在栈上,则函数执行结束后可自动将内存回收如果分配在堆上,则函数执行结束后可交给GC&…

stoi家族函数详解

atoi家族函数详解 1.atoi函数1.1函数原型1.2函数使用1.3函数使用的注意事项1.4atoi函数的模拟实现 2.其它函数 atoi函数家族中包含atof、atol、_atoi64 他们的作用为将字符串转换成double(atof)、integer(atoi、_atoi64)、long&am…

kafka连接zookeeper失败导致无法启动

1.背景 Linux服务器磁盘使用率100%导致kafka服务挂掉,推测是别的生产者往kafka服务器不停的塞数据把服务器塞爆了,服务器总空间60g,然后进到服务器查看kafka默认数据存储路径/tmp/kafka_logs就占了37g特别是目标topic,由于这个ka…

vscode+docker搭建迷你开发环境。制作docker镜像,并通过vscode连接后进行开发

制作自己的docker镜像,将docker镜像作为服务器,接受vscode连接 目录 1. 制作开发环境镜像 1.1 选择基础镜像 1.2 编写dockerfile 1.3 构建镜像 2. 启动镜像 3. 添加用户 3.1 查看物理机上用户信息 3.2 登录到docker中 3.3 按照物理机的用户和组…

YOLO训练报错解决:OSError: [WinError 1455] 页面文件太小,无法完成操作

问题:OSError: [WinError 1455] 页面文件太小,无法完成操作。 Error loading "C:\Users\12706.conda\envs\yolov8\lib\site-packages\torch\lib\cudnn_cnn_infer64_8.dll" or one of its dependencies. 解决方法: 降低数据加载的线…

sqlalchemy连接池满了报错

报错信息 sqlalchemy.exc.TimeoutError: QueuePool limit of size 5 overflow 10 reached, connection timed out, timeout 30 (Background on this error at: http://sqlalche.me/e/3o7r) 解决办法 参考:https://docs.sqlalchemy.org/en/20/core/pooling.html 在…

掌握Adobe XD:为自学者准备的软件学习秘籍

相信了解一些设计软件的朋友都听说过这个软件,Adobe XD软件是一款功能强大的原型创建工具。随着Adobe XD软件越来越受到用户的青睐,它几乎涵盖了所有大中小企业和企业的设计,可以说是设计公司最常用的软件之一。Adobe XD软件可以在很多方面满…

Jenkins常用插件与应用详解

🍅 视频学习:文末有免费的配套视频可观看 🍅 点击文末小卡片,免费获取软件测试全套资料,资料在手,涨薪更快 Jenkins是一个平台我们通过安装插件来解决我们想要完成的任务 1、Jenkins常用插件 Allure&#…

【Kotlin 二】函数/高阶函数/内联函数 对象/主构造函数/次要构造函数/对象初始化

1.函数 函数声明如下: fun 函数名称([函数参数...]): 返回值类型{// 方法体 }fun sum(num1: Int, num2: Int): Int {return num1 num2 }注意:Kotlin函数返回值为空时为Unit,并非常见的void 函数可以设置默认值: fun printNum…

【量算分析工具-水平距离】GeoServer改造Springboot番外系列四

【量算分析工具-概述】GeoServer改造Springboot番外系列三-CSDN博客 【量算分析工具-水平距离】GeoServer改造Springboot番外系列四-CSDN博客 【量算分析工具-水平面积】GeoServer改造Springboot番外系列五-CSDN博客 【量算分析工具-方位角】GeoServer改造Springboot番外系列…

常用图像分类预训练模型大小及准确度比较

近年来,深度学习技术的发展使得图像分类任务变得越来越容易。预训练模型的出现更是使得图像分类任务变得更加简单和高效。然而,随着预训练模型的数量和大小的增加,我们需要了解每个模型的特点和优缺点,以便更好地选择和使用它们。…

6岁开始学习打字,10岁学懂文字编程

​你们有没有想过打字速度会影响Coding 编程能力? 疫情期间,全国中小学均不定期停止面授课程,改为网上教学。顷刻之间,电脑、智能手机等即时通讯软件成为每日学习的「良师益友」,常伴左右。 同时,学生也由…

实施阶段(2024年5月)

本次探究主要围绕数学问题“斐波拉契数列”项目展开,在一题两解的算法设计过程中,对比经典算法中的迭代和递归,深入解析两者的关系,并在此基础上进行其他数学问题的深入研究。 (1)迭代法也称为辗转法&…

http和https分别是什么?区别是什么?

HTTP和HTTPS是两种常见的网络协议,用于在Web上进行数据传输。以下是它们的简要解释和主要区别: HTTP(Hypertext Transfer Protocol) HTTP是一种应用层协议,用于在Web上传输数据。它是互联网上应用最为广泛的一种网络…

20212313 2023-2024-2 《移动平台开发与实践》第5次作业

20212313 2023-2024-2 《移动平台开发与实践》第5次作业 1.实验内容 设计并开发一个地图应用系统。 该实验需提前申请百度API Key,调用接口实现百度地图的定位功能、地图添加覆盖物和显示文本信息。 2.实验过程 2.1 获取SHA1 (1)打开控制台…

PostgreSQL数据库提权

前面讲述了mysql、SqlServer、Redis数据库相关的提权方式,有兴趣的也可以去看看。 这里讲的postgreSQL数据库提权就是任意命令执行漏洞(CVE-2019-9193)。 目录 数据库简介 漏洞原理 影响版本 漏洞利用 利用前提 漏洞复现 复现准备 复现过程 漏洞修复 数据…

三分钟轻松搞定内容,2024视频号最新AI自动生成影视解说,,百分之百过原创, 月入1万+

在这个数字时代,我们有幸见证了AI技术对创新的推动。现如今,一个崭新的平台出现了,它能让你用AI软件在短短3分钟内制作完成一段影视解说,而且由于这个平台尚属于新兴,竞争者稀少,提供了一个广阔的机遇天地。…

Mysqldump备份与恢复Mysql全部数据库的数据

博主使用docker安装的mysql,现在需要迁移全部的mysql数据库,使用其他工具时,可能导致接口不通(mysql8.4与mysql8.0就不通),使用mysqldump原生工具进行迁移: 全部数据库的数据备份 mysqldump -…