【Mysql】记录一些特殊的select语句

news2025/1/15 20:05:07

目录

    • 一.分页查询
    • 二.多表查询
    • 三.自连接
    • 四.子查询
      • 4.1单行子查询
      • 4.2多行子查询
      • 4.3临时表子查询
      • 4.4多行子查询
      • 4.5多列子查询

一.分页查询

select...limit start,rows
表示从start+1行开始取,取出rows行,start从0开始算
公式:limit 每页显示记录数*(第几页-1),每页显示记录数

SELECT
	* 
FROM
	emp 
WHERE
	deptno = 20 
	LIMIT 0,4

二.多表查询

多表查询的条件不能少于表的个数-1, 否则会出现笛卡尔集
在这里插入图片描述
查询一:显示雇员名,雇员工资及所在部门的名字
雇员名,雇员工资 来自 emp 表
部门的名字 来自 dept 表

SELECT
	ename,
	sal,
	dname,
	emp.deptno 
FROM
	emp,
	dept 
WHERE
	emp.deptno = dept.deptno

查询二:显示部门号为 10 的部门名、员工名和工资

SELECT
	ename,
	sal,
	dname,
	emp.deptno 
FROM
	emp,
	dept 
WHERE
	emp.deptno = dept.deptno 
	AND emp.deptno = 10

查询三:显示各个员工的姓名,工资,及其工资的级别
姓名,工资 来自 emp
工资级别 salgrade

SELECT
	ename,
	sal,
	grade 
FROM
	emp,
	salgrade 
WHERE
	sal BETWEEN losal 
	AND hisal;

三.自连接

在同一张表的连接查询(元素之间通过表中的某一列关联,把一张表都当做两张表来使用
),在进行查询时一般要起别名!
在这里插入图片描述
查询一:显示公司员工名字和他的上级的名字
员工名字 在 emp, 上级的名字的名字 emp
员工和上级是通过 emp 表的 mgr 列关联

SELECT
	worker.ename AS '职员名',
	boss.ename AS '上级名' 
FROM
	emp worker,
	emp boss 
WHERE
	worker.mgr = boss.empno;

四.子查询

子查询是指嵌入在其它sql语句中的select语句,也叫嵌套查询

4.1单行子查询

单行子查询是指只返回一行数据的子查询语句
查询一:如何显示与SMITH同一部门的所有员工?
先查出Smith的部门号,再根据查到的部门号来查询其他信息

SELECT DISTINCT
	ename,
	job,
	sal,
	deptno 
FROM
	emp 
WHERE
	deptno IN (
	SELECT
		deptno 
	FROM
		emp 
WHERE
	ename = 'SMITH')

4.2多行子查询

多行子查询指返回多行数据的子查询使用关键字in
查询二:查询和10号部门工作相同的员工,但不包括10号部门
查询10号部门有哪些工作,再把查询结果当作子查询使用

SELECT
	ename,
	deptno 
FROM
	emp 
WHERE
	job IN 
	( SELECT 
	job 
	FROM 
	emp 
	WHERE 
	deptno = 10 ) 
	AND deptno != 10

4.3临时表子查询

将子查询当作一张临时表来使用
查询一:查询表中各个类别里,价格最高的商品
先得到各个类别中,价格最高的商品当作临时表,在针对临时表查询其他字段
在这里插入图片描述

SELECT
	goods_id,
	ecs_goods.cat_id,
	goods_name,
	shop_price 
FROM
	( SELECT cat_id, MAX( shop_price ) 
	AS max_price 
	FROM ecs_goods 
	GROUP BY cat_id ) 
	temp,ecs_goods 
WHERE
	temp.cat_id = ecs_goods.cat_id 
	AND temp.max_price = ecs_goods.shop_price

注意针对临时表和原始表共存的字段要做声明,比如使用ecs_goods.cat_id来作为字段名

4.4多行子查询

查询一:查询工资比30号部门的所有员工工资高的员工的姓名、工资和部门号
使用all操作符实现
还可以使用MAX()

SELECT
	ename,
	sal,
	deptno 
FROM
	emp 
WHERE
	sal > ALL (
	SELECT
		sal 
	FROM
		emp 
	WHERE
	deptno = 30)

查询二:查询工资比30号部门其中一个员工工资高的员工的姓名、工资、部门编号
使用ANY操作符实现
也可以使用MIN()

SELECT
	ename,
	sal,
	deptno 
FROM
	emp 
WHERE
	sal > ANY ( 
	SELECT 
	sal 
	FROM 
	emp 
	WHERE 
	deptno = 30 )

4.5多列子查询

(字段1,字段2…)=(select 字段1,字段2 from…)
查询一:查询和Allen部门和岗位相同的元素

SELECT * FROM emp 
WHERE 
( deptno, job )=( 
SELECT deptno, job 
FROM emp 
WHERE ename = 'ALLEN' 
) 
AND ename != 'ALLEN'

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

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

相关文章

R语言NLP案例:LDA主题文本挖掘优惠券推荐网站数据

介绍 Groupon是一个优惠券推荐服务,您可以免费注册Groupon,并且Groupon每天都会向您发送包含该地区当天交易的电子邮件。如果您喜欢这笔交易,那么您可以立即从Groupon购买,并在餐馆/商店兑换。 相关视频:文本挖掘&…

微导纳米将于12月14日申购:前三季度收入约4亿元,同比增长67%

12月5日,江苏微导纳米科技股份有限公司(下称“微导纳米”,SH:688147)披露招股意向书,启动发行招股,初步询价时间定于2022年12月9日,将于2022年12月14日申购。 据了解,微导纳米拟在上…

电巢·新能源领域高速发展,驱动电解电容“老树又发新枝芽”

据统计,新能源汽车销量2012年为1.3万台,2021年上升到352.1万台,截止2022年9月达到456.7万台。车载充电机(OBC)的主要功能是将交流电压输入,以适合电池组的电流和电压水平,转换为直流电压输出。 新能源汽车应用中&#…

Apache Spark与 Apache Hadoop数据科学工具有哪些区别?

ApacheSpark与 Apache Hadoop数据科学工具有哪些区别?Apache Spark被设计为大规模处理的接口,而 Apache Hadoop 为大数据的分布式存储和处理提供了更广泛的软件框架。两者既可以一起使用也可以作为独立服务使用。Apache Spark 和 Apache Hadoop 都是 Apa…

C51 - 微型步进电机15BY25驱动

Contents1> 电机1.1> 旋转原理1.2> 拍数1.3> 步距角2> 驱动电路2.1> MS356562.2> L62192.3> TC15083> 工作时序1> 单相4拍2> 双相4拍3> 双相8拍1> 电机 1.1> 旋转原理 电生磁, 安培定则(右手螺旋定则); 步进电机转动的本质: 转子被定…

【U8】T6升级U8后打开卡片管理报错

T6升级U8,使用低版本升级U8工具,严格按照升级工具步骤操作(以下三个步骤按顺序操作) 升级成功后,在U8中,打开固定资产模块的卡片管理报错,如下图: 经过跟踪排查发现,后台…

ChatGPT 加图数据库 NebulaGraph 预测 2022 世界杯冠军球队

一次利用 ChatGPT 给出数据抓取代码,借助 NebulaGraph 图数据库与图算法预测体坛赛事的尝试。 作者:古思为 蹭 ChatGPT 热度 最近因为世界杯正在进行,我受到这篇 Cambridge Intelligence 的文章启发(在这篇文章中,作…

【机器学习实战】使用SGD-随机梯度下降、随机森林对MNIST数据进行二分类(Jupyterbook)

1. 数据集 由美国高中生和人口调查局员工手写的70000个数字的图片。数据集获取 # 获取MNIST数据集 from sklearn.datasets import fetch_openml mnist fetch_openml(mnist_784, version1, cacheTrue, as_frameFalse) mnist查看X和Y 找索引为36000的实例,并将其还…

AXI4-Lite总线读写BRAM

博主参考和学习的博客 AXI协议基础知识 。这篇博客比较详细地介绍了AXI总线,并且罗列了所有的通道和端口,写代码的时候可以方便地进行查表。AXI总线,AXI_BRAM读写仿真测试 。 这篇文章为代码的书写提供大致的思路,比如状态机和时…

GDB调试

文章目录1.什么是GDB2. 准备工作3.GDB命令-启动、退出、查看代码4.设置断点5.GDB命令-调试命令1.什么是GDB 2. 准备工作 通常,在为调试而编译时,我们会关掉编译器的优化选项"-o",并打开调试选选项“-g”,另外,“-wall”…

【第一章 Linux目录结构,网络连接模式,vi和vim,Linux关机重启命令,Linux用户管理】

第一章 Linux目录结构,网络连接模式,vi和vim,Linux关机&重启命令,Linux用户管理 1.Linux和Unix: ①Unix针对于大型,高性能主机或服务器; ②Linux适用于个人计算机。 2.网络连接的三种模式…

图解pytorch里面的torch.gather()

在 Dim1 的情况下应用 torch.gather() 上图显示了 torch gather() 函数在 dim1 的二维张量上的工作。 这里索引张量的行对应于输入张量的行(用灰色阴影突出显示)。现在对于索引张量中的每个索引值,从该行和输入张量的索引中选取相应的值。 让…

LEADTOOLS 22-23 .Net/NetCore/JS/JAVA/Win/Linux

破解版功能齐全:LEADTOOLS 是一系列综合工具包,旨在帮助程序员将光栅、文档、医学、多媒体和矢量图像集成到他们的桌面、服务器、平板电脑和移动应用程序中。LEADTOOLS 为开发人员提供最灵活、最强大的成像技术,为 OCR、条形码、表单识别、PD…

推荐大家一些CTF的网站和工具

一.网站 1.攻防世界 网址:攻防世界 这是一个有好多题目的网站 主要有Misc、Pwn、Web、Reverse、Crypto、Mobile几种题型 不会的问题还可以查题解 好用度 9星 2.BUUCTF 网址:BUUCTF在线评测 也有很多ctf的题目 逆向、网络等等...... 比攻防世界…

最近火爆了的对话ChatGPT

前言 相信最近小伙伴们已经被ChatGPT的惊艳效果刷屏了,之前笔者也介绍过一些对话方向的工作,感兴趣的小伙伴可以穿梭: 对话系统最新综述II https://zhuanlan.zhihu.com/p/446760658 在对话系统中建模意图、情感: https://zhuanlan.zhihu.com/…

Nacos是什么?

摘要:Nacos是 Dynamic Naming and Configuration Service的首字母简称,相较之下,它更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。本文分享自华为云社区《Nacos入门指南 - Nacos是什么》,作者:华为云P…

.gitlab-ci.yml文件常用规则说明

我自己整理了一份yml文件,里面包含了分支触发,和tag触发,还有缓存等: stages:- install- build- deploycache:key: nodeModulespaths:- node_modules- distjob_install:stage: installtags:- cvtagsonly:refs:- devscript:- npm …

基于LLVM的Fortran编译器分析

简介 本文内容基于LLVM 13.0.0。 目前基于LLVM的Fortran编译器(或者驱动)有3种,分别是flang、f18和flang-new。 flang是pgfortran的开源版本,基于PGI/NVIDIA的商业Fortran 编译器,它并不从属于LLVM项目。NVIDIA团队…

LabVIEW编程LabVIEW开发 ADAM 4015热电阻输入模块例程与相关资料

LabVIEW编程LabVIEW开发 ADAM 4015热电阻输入模块例程与相关资料 ​研华公司的ADAM 4015是6通道热电阻输入模块,可以采集2线或3线热电阻输入信号,ADAM4015T课题采集热敏电阻的输入信号。模块在工业测量和监控的有着广泛的应用,它既可以支持A…

Web3中文|苹果想对以太坊征税

虽然Web3是非常新的技术,但是似乎已经遇到了非常多“劲敌”。 这些“敌人”正在阻碍web3应用程序和区块链游戏的发展,因为在web3里,应用程序和游戏将允许用户自主相互交易数字资产所有权。 所以,那些大公司,如任天堂…