尚硅谷MYSQL(5-6章)

news2024/9/22 1:10:19

排序和分页 

排序

如果没有使用排序操作的话 查询出来的数据是按添加的顺序排序的

ORDER BY是来进行排序的 后面可以添加ASC升序 DESC降序

如果后面没有显示指明排序的方式的话 则默认按照升序排序

7186a13c52e84b4a991860a6a37b285f.png

where中不能使用列的别名

ee8a65ba300947db8e582aeb584f5595.png

我们在使用sql语句的时候 她的执行顺序不是从第一条开始的 而是从from语句开始 

先看从哪个表中拿出数据 然后看一下她过滤出什么来了 再看select中的需要哪几个字段

这样你才可以定义一个别名使用在order by中

声明:where需要声明在from后 order by 前面

e6c47178c15a4a0a9ad97596b531363d.png

多级排序的就是在第一种情况相同的时候 进行第二个条件排序

分页

2224a20c695f4c77b93354328301136e.png

分页显式公式 :(当前页数 -1 * 每页条数,每页条数

limit严格来说是有两个参数 位置偏移量和条目数 如果只有一个参数就是从0开始只有条目数

c56559609a03405b95b344bdc8235e2f.png

51c82afdb4f44f9bbf341de1265d58a7.pnga3d84062cb474d9aa0f81d0cbe30b135.png

14f7a4b5c53046ee922e693adcf1fa2c.png

8e075295b60e4ba4af74d9b5360fd490.png

多表查询

d86b29f55abd4504b92a23c97c78a75a.png

出现笛卡尔积的错误(每个员工都到每个部门工作过)

74a1763d6c3a4b309849229929f60a91.png

78f5b1933b6840a7a42de2cdae9ebfcf.png

笛卡尔积或者叫做交叉连接就是两个集合x和y x和y的所有可能组合 x*y

咱们的数学坐标系就是笛卡尔发明的 外国叫做笛卡尔坐标系

2c2f5d93d4854e068d5f31db8560326a.png

3c0ac95aaec04332b52b074b68e26a5c.png

多表查询的正确方式 需要有连接条件

0d75c3081023404782c4cab5e0f6a28c.png4f307df7f0104f25b8725a75f64c0194.png

如果要给表起别名的话 需要使用表的别名 如果使用原名的话就会报错

6479be6b53884b6786d59087d91b0ed9.png

84795301188e44c5b0c6a4f22f9f0157.png

多表查询的分类

等值连接vs非等值连接

非等值连接的例子

fd45a4a89f034e3a969353ba22ccd5d7.png

自连接vs非自连接

自连接

9b2ed047eb154804bed222f0c556fb8d.png

9aa208a5623b42809d3a8a572a2c46dd.png

内连接: 合并具有同一列的两个以上的表的行, 结果集中不包含一个表与另一个表不匹配的行
外连接: 两个表在连接过程中除了返回满足连接条件的行以外 还返回左(或右)表中不满足条件的
行 ,这种连接称为左(或右) 外连接。没有匹配的行时, 结果表中相应的列为空(NULL)。
如果是左外连接,则连接条件中左边的表也称为 主表 ,右边的表称为 从表 。
如果是右外连接,则连接条件中右边的表也称为 主表 ,左边的表称为 从表 。
 
在面试中 只要出现了 所有的这个字眼 就是外连接 
39e1f1cfb9824fe9ac3d8421f9114209.png
sql92实现内连接见上
sql92实现外连接:使用+ 不支持sql92的写法
 
 
3f7fa63a305742f3aa6482f375f93b1d.png
c6382c9e30a642e195ceb10125c0524e.png
使用sql99
8859e04aaf7743019ced1f6020a94508.png

右外连接

61bfd9553c094f26a1385452afe4fc5a.png
86199275bf8042b0975db3d42422fc13.png
中间是内连接 左边是左外连接 右边是右外连接 如果全部都有的话就是满外连接
3a6e948c335f49f4a6b564ee74cfae13.png
 
908f1ecf7a41464b9a71d5bdef47f1df.png
MySQL不支持full outer join (满外连接)

七种sql join的实现

union 会多一个去重的操作

union操作符比起union all操作符来说 union all操作符多了一个106 也就是一个公共的部分 

开发中 我们可以使用union all的话 就用union all 

比如下图要做一个满外连接的话 可以使用左上图和右下图来进行合并

8dac35609ff84d11afb57d099d53c18e.png8937a781ba344ca2b82fc6d3a413243a.pngc41b5f027609490595814d8f843daca3.png

270f51256f134a93a407d76076da57bb.png8fcde48087a846bd86934b63cc460f66.png

或者是左中堂图和右上图

8bf84b76db9b4824b09d8d4577dac511.png

sql99的新特性

自然连接

sql92中使用等值连接 将同时复合下面条件的连接起来 在sql99中可以使用新特性natural join

c0e5404b38b64a5899608584534c71b4.png

using连接

当我们进行连接的时候,SQL99还支持使用 USING 指定数据表里的 同名字段 进行等值连接。但是只能配合JOIN一起使用。比如

8ff09c993d034472ada96c2a689419fc.png.

0cf6c7dca08b40cc91faf93b2dc19e01.png

例题

eae0a2af20144cdabe07edab90e149c9.png

多表查询中 select后面的每个字段都要对应相应的表  并且题目的要求是所有的员工 所以需要看员工列表在哪一列 左边的话 就是用左外连接 

7e55609dbce8431a8e38a2aa981592bf.png

d26bb129b8ee41998d3048b2010fcd6d.png

sql90的语法(没有外连接的话可以使用sql92的语法)f57c06759cd24ee8b162722de7afbf3f.png

sql92的语法

22763ae9caff4134a7f0d1b99bc4bdf7.png

d58f36e4b6524a7dbca637a21b727386.png475112690662468887e62ae906fc8890.png8629d35454524aa698c80ee57b622c35.pngf557673f32d2456cac1c23a9d8389ea8.png

 第七题的话可以使用子查询 但是这里暂时不讲方式二就是使用的子查询

a004a07ba13f4386bee26e80a09b908c.png

0b85dca5574a4519951c2ebca594a437.pnga112402486254486ad436b73a8ca6bf5.png

 

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

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

相关文章

Python 环境搭建指南 超详细

Python是由荷兰⼈吉多范罗苏姆(Guido von Rossum,后⾯都称呼他为Guido)发明的⼀种编程语言 1. 1989年圣诞节:Guido开始写Python语⾔的编译器。2. 1991年2⽉:第⼀个Python解释器诞⽣,它是⽤C语⾔实现的&…

STM32之点亮LED灯

使用固件库实现LED点灯 LED灯: LED灯,是一种能够将电能转化为可见光的半导体器件 控制LED灯: LED灯的正极接到了3.3V,LED灯的负极接到了PA1,也就是GPIOA1引脚 只需要控制PA1为相对应的低电平,即可点亮对…

政务大数据解决方案(十)

政务大数据解决方案通过建立全面的集成数据平台,整合来自各政府部门的异构数据,运用大数据分析、人工智能和机器学习技术对数据进行深度挖掘与智能化处理,提供实时精准的决策支持,从而提升政策制定和实施的科学性与效率。该方案包…

retrofit+livedata+viewModel+moshi处理数据

1.从源码角度看,只需要定义一个CallAdapterFactory 处理结果livedata接受默认的CallAdapterFactory 是DefaultCallAdapterFactory // // Source code recreated from a .class file by IntelliJ IDEA // (powered by FernFlower decompiler) //package retrofit2;i…

那不勒斯足球俱乐部在 The Sandbox 中启动

访问 The Sandbox 中的那不勒斯足球俱乐部快闪商店,赢取比赛门票和签名商品。 我们很高兴地宣布,我们将与意大利著名职业足球俱乐部那不勒斯足球俱乐部展开合作,在 4 个 UGC 体验中开设 “快闪商店”。在这个以传奇球队为灵感来源的独特数字…

[Meachines] [Medium] poison LFI+日志投毒+VNC权限提升

信息收集 IP AddressOpening Ports10.10.10.84TCP:22,80 $ nmap -p- 10.10.10.84 --min-rate 1000 -sC -sV 22/tcp open ssh OpenSSH 7.2 (FreeBSD 20161230; protocol 2.0) | ssh-hostkey: | 2048 e3:3b:7d:3c:8f:4b:8c:f9:cd:7f:d2:3a:ce:2d:ff:bb (RSA) | 256 …

Linux - 基础工具使用

文章目录 一、yum1、介绍2、功能3、语法4、使用 二、rzsz1、安装rzsz的指令2、介绍3、使用 三、vim基础使用1、介绍2、基础使用 四、gcc/g使用1、生成可执行文件过程2、语法3、常用选项4、编译过程5、动静态库6、链接外部库 一、yum 1、介绍 Linux中的yum是一个强大的软件包管…

部署 K8s 图形化管理工具 Dashboard

文章目录 一、Dashboard 概述二、GitHub 地址三、Dashboard 部署安装1、选择兼容版本2、下载配置文件3、添加 Dashboard 的Service类型4、应用部署5、查看 kubernetes-dashboard 命名空间下资源状态6、创建访问账户7、授权8、获取账号token9、1.24 版本以后的需要创建一个Pod 四…

STM32入门开发操作记录(九)——外部时钟定时器

目录 一、项目准备1. 工程模板2. 器件接线 二、外部时钟1. 端口复用2. 流程示意 三、定时器模块Timer.cTimer.h 四、遮光计数 一、项目准备 1. 工程模板 本篇项目所用模板包含以下模块,声明函数见头文件,模块添加和函数功能详见往期记录。   2. 器件…

alibabacloud学习笔记13

微服务Docker镜像打包讲解 父项目怎么springboot版本依赖 每个子模块项目添加依赖 添加构建文件: 微服务Docker镜像打包整合JDK11 服务根目录创建dockerFile文件. dockerFile的内容。 构建镜像( 去到子模块pom文件下): 要下载这个才能使用本地docker.…

linux常用网络工具汇总三

linux常用网络工具汇总 6. 抓包工具6.1 wireshark安装界面介绍使用过滤器TCP协议示例关于wireshark的缺点 6.2 tcpdump命令格式关键字使用关于tcpdump的缺点 6.3 fiddler6.4 burpsuite 6. 抓包工具 6.1 wireshark Wireshark(前称Ethereal)是一个网络封…

谷歌账号异常后,恢复账号的时候验证手机号出现这样的界面就悬了

朋友们在使用谷歌账号玩游戏,或者浏览一些内容的时候,甚至啥也不干,过一阵仅仅来登录谷歌的时候可能会发现账号无法顺利登录。 往往是输入了谷歌账号(邮箱地址)后,经历过了纠结的人机验证后,输…

leetcode热题系列14

540. 有序数组中的单一元素 给定一个只包含整数的有序数组,每个元素都会出现两次,唯有一个数只会出现一次,找出这个数。 示例 1: 输入: [1,1,2,3,3,4,4,8,8] 输出: 2 示例 2: 输入: [3,3,7,7,10,11,11] 输出: 10 思路: 利用逻…

适合毕业生!分享好用的9款AI论文写作软件

对于即将毕业的大学生来说,撰写论文是一项既重要又具挑战性的任务。为了帮助大家更高效地完成这一过程,我将推荐几款适合毕业生使用的AI论文写作软件,并详细介绍它们的功能和优势。 1. 千笔-AIPassPaper 千笔-AIPassPaper是一款功能全面且用…

【Python学习-UI界面】PyQt5 小部件4-QRadioButton

样式如下: QRadioButton 类对象是一个带有文本标签的可选择按钮。用户可以在表单上选择其中一个选项。该类派生自QAbstractButton类。 单选按钮默认是自动排斥的。因此,在父窗口中只能选择一个单选按钮。 如果选择了其中一个按钮,则之前选择…

微信小程序在不同移动设备上的差异导致原因

在写小程序的时候用了rpx自适应单位,但是还是出现了在不同机型上布局不统一的问题,在此记录一下在首页做一个输入框,在测试的时候,这个输入框在不同的机型上到处跑,后来排查了很久都不知道为什么会这样 解决办法是后 …

红日靶场vulnstack (二)

环境搭建 环境其实和vulnstack (一)差不多滴,只是变成有两台主机是具有两个IP的了。所有账号登录密码为1qazWSX,域管理员账号为administrator,密码和前面的一样。 Web:192.168.145.144(外),192.168.215.31(内) PC&am…

基因组学系列4:参考转录本数据库MANE

1. 参考转录本数据库MANE简介 为了促进临床参照的一致性,美国国家生物技术信息中心( NCBI)和欧洲分子生物学实验室-欧洲生物信息学研究所(EMBL-EBI)合作发布了参考转录本数据库MANE(Matched Annotation from the NCBI and EMBL-EBI)&#xf…

Python之格式化输出

格式化输出 方法一:用%方法二:用format()函数设置输出的内容的宽度和小数位数 方法一:用% 直接用print()函数对字符串进行输出,是没有进行格式化控制的。 格式化,是对输出内容的显示方式进行设置。 首先,要…

有名管道和信号

3.无名管道 只能用于 亲缘关系 进程间 A.c B.c | | A B 有名管道 fifo:先入先出 创建有名管道:makepipe 1.是一种特殊文件 a.存在于 内存中 b.在系统中,有一个对应的名称 c.看文件的大小 0bytes pathname…