MySQL常用高级语句

news2024/9/20 22:55:39

SQL高级语句

DISTINCT

不显示重复的内容

语法:SELECT DISTINCT “字段” FROM “表名”;

select distinct name from lk1;

在这里插入图片描述

SELECT

显示表格中一个或数个栏位的所有资料

语法:SELECT “字段” FROM “表名”;

select * from lk1;  #查看表格详细信息
select name from lk1; #按要求查看指定一个字段内容
select name,sex from lk1; #按要求查看多个字段内容

在这里插入图片描述

WHERE

条件查询

语法:SELECT “字段” FROM “表名” WHERE “条件”;

select * from 表名 where 需求;

在这里插入图片描述

AND OR

代表且、或、和的意思

语法:SELECT “字段” FROM “表名” WHERE “条件1” {[AND|OR] “条件2”};

select * from 表名 where 需求1 or(需求2 and 需求3);

在这里插入图片描述

order by

按关键字排序

语法:SELECT “字段” FROM “表名” [WHERE “条件”] ORDER BY “字段” [ASC, DESC];

#ASC 是按照升序进行排序的,是默认的排序方式。

#DESC 是按降序方式进行排序。

select id,name,score from info order by score desc; # 讲查看到的成绩按降序排列
select id,name,score from info order by score; #不加desc 则默认为升序

在这里插入图片描述
在这里插入图片描述
order by还可以结合where进行条件过滤,筛选地址是杭州的学生按分数降序排列

select name,score from info where address='hangzhou' order by score desc;

在这里插入图片描述
ORDER BY 语句也可以使用多个字段来进行排序,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再按照第二个字段进行排序,ORDER BY 后面跟多个字段时,字段之间使用英文逗号隔开,优先级是按先后顺序而定
但order by 之后的第一个参数只有在出现相同值时,第二个字段才有意义

LIKE

匹配一个模式来找出我们要的资料

语法:SELECT “栏位” FROM “表名” WHERE “字段” LIKE {模式};

select * from info where name like 'li%';# 以li开头的所有名字
select *from info where name like '%si%'; #名字中包含si的名字
select *from info where name like 'liuy_'; # 以liuy开头并且后面仅有一个字符的名字

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

count(*)

显示当前表的总字段数量

select count(*) as number from info;
显示当前表的总字段数,以number显示

在这里插入图片描述

BETWEEN

显示两个值范围内的资料

语法:SELECT “字段” FROM “表名” WHERE “栏位” BETWEEN ‘值1’ AND ‘值2’;

select * from info where score between 80 and 100;

在这里插入图片描述

IN

显示已知的值的内容

语法:SELECT “字段” FROM “表名” WHERE “栏位” IN (‘值1’, ‘值2’, …);

select * from info where score in (10,11,98);

在这里插入图片描述

AS

此外,AS 还可以作为连接语句的操作符。
创建LK2表,将info表的查询记录全部插入LK2表

create table lk2 as select * from info;
1、创建了一个新表t1 并定义表结构,插入表数据(与info表相同)
2、但是”约束“没有被完全”复制“过来 #但是如果原表设置了主键,那么附表的:default字段会默认设置一个0
相似:
克隆、复制表结构
create table lk2 (select * from info);

在这里插入图片描述

limit

limit 限制输出的结果记录
在使用 MySQL SELECT 语句进行查询时,结果集返回的是所有匹配的记录(行)。有时候仅 需要返回第一行或者前几行,这时候就需要用到 LIMIT 子句

select * from info limit 3,3;

在这里插入图片描述

通配符

通常通配符都是跟 LIKE 一起使用的
在这里插入图片描述

子查询

子查询也被称作内查询或者嵌套查询,是指在一个查询语句里面还嵌套着另一个查询语 句。子查询语句是先于主查询语句被执行的,其结果作为外层的条件返回给主查询进行下一 步的查询过滤。
PS: 子语句可以与主语句所查询的表相同,也可以是不同表
子查询不仅可以在 SELECT 语句中使用,在 INERT、UPDATE、DELETE 中也同样适用。在嵌套的时候,子查询内部还可以再次嵌套新的子查询,也就是说可以多层嵌套。

select name,score from info where id in (select id from info where score >80);
主语句:select name,score from info where id
子语句(集合)select id from info where score >80
子语句中的sql语句是为了,最后过滤出一个结果集,用于主语句的判断条件
in: 将主表和子表关联/连接的语法

在这里插入图片描述

多表查询

IN 用来判断某个值是否在给定的结果集中,通常结合子查询来使用

当表达式与子查询返回的结果集中的某个值相等时,返回 TRUE,否则返回 FALSE。 若启用了 NOT 关键字,则返回值相反。需要注意的是,子查询只能返回一列数据,如果需 求比较复杂,一列解决不了问题,可以使用多层嵌套的方式来应对。 多数情况下,子查询都是与 SELECT 语句一起使用的

查询分数大于80的记录

 select name,score from info where id in (select id from info where score>80);

在这里插入图片描述

EXISTS

用来测试内查询有没有产生任何结果,类似布尔值是否为真

如果有的话,系统就会执行外查询的SQL语句,若是没有的话,那整个SQL语句就不会产生任何结果

语法:SELECT “字段” FROM “表格1” WHERE EXISTS (SELECT * FROM “表格2” WHERE “条件”);

select name,xueke from info where name in (select name from test1 where score=10);
select name,xueke from info where name in (select name from test1 where score=100);

在这里插入图片描述

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

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

相关文章

微机原理与汇编语言—理论知识复习

书上重点内容 本篇博客整理老师课上强调的重点理论知识,以便复习备考,如有错误欢迎指正。 这门课主要讲CPU芯片与其他芯片(内存芯片和I/O接口芯片)之间交互。 一条指令的执行过程:取指(从主存取到CPU寄…

最优化理论笔记及期末复习(《数值最优化》——高立)

目录一、预备知识二、无约束最优化方法的基本结构三、凸集和凸函数四、负梯度方法和Newton型方法五、共轭梯度法六、约束最优化问题的最优性理论七、罚函数方法八、期末复习8.1 知识点复习8.2 习题复习8.3 大实验代码8.3.1实验内容8.3.2实验目的8.3.3算法描述8.3.4程序中的参数…

[附源码]计算机毕业设计基于Springboot的中点游戏分享网站

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

【C++】STL:String

🐱作者:傻响 🐱专栏:《C/C - STL》 🔥格言:你只管努力,剩下的交给时间! ​ 目录 STD - String标准库 字符串类介绍 字符串类构造函数 No.1 string() ; No.2 string(const char…

实操1 : Jupyter Notebook 如何更换主题+全部主题展示+深色主题下如何设置可视化图表

文章目录(一) 如何更换主题(二) 全部主题展示(三) 深色主题下设置可视化图表(一) 如何更换主题 1.打开 Jupyter Notebook, 新建一个Python文件 在文件中输入下方命令开始安装主题 pip install --upgrade jupyterthemes -i https://pipy.douban.com/simple2.win R 打开 cmd 命…

效率工具之Arthas

Arthas 阿里巴巴开源的Java诊断工具;追踪方法执行链、反编译、监控JVM状态 在线安装 使用 1. trace 跟踪调用链 解决痛点:定位问题根据日志推理分析,方法出入参不可见,分支判断太多情况下 定位很慢,分析出可能有问…

[附源码]JAVA毕业设计科院垃圾分类系统(系统+LW)

[附源码]JAVA毕业设计科院垃圾分类系统(系统LW) 目运行 环境项配置: Jdk1.8 Tomcat8.5 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术…

JVM学习-- JVM调优

一、选择垃圾收集器 垃圾收集器和内存大小有关 一般情况, serialserial old 适用几十兆内存 pspo 适用几百兆~几个G parNewCMS 可以用到20G G1 可以用到上百G ZGC 可以 4T~16T 1. 常见垃圾收集器组合参数设定 -XX:UseConc(urrent)MarkSweepGC ParNew CM…

【web实战-业务逻辑】评论点赞逻辑

目录 点赞逻辑一: 第一步:找关键 第二步:猜测逻辑 第三步:结论 第四步:归类 点赞逻辑二: 第一步:找关键 第二步:猜测逻辑 第三步:结论 第四步:归纳…

Framework 学习之旅:Service 启动过程

前言 Service 的启动过程将分为两个部分,分别是ContextImpl到ActivityManageService调用过程和ActivityThread启动Service过程。 ContextImpl到ActivityManageService调用过程 一般启动服务操作在Activity中调用startService方法,从Activity的startSe…

[附源码]计算机毕业设计springboot智慧园区运营管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

360T7路由器进行WiFi无线中继教程

360T7路由器进行WiFi中继教程1. 概述2. 360T7路由器进行WiFi中继实现教程2.1 登录路由器管理界面2.2 选择上网方式2.3 搜索WiFi2.4 连接WiFi2.5 点击确认2.6 在主页面查看网络1. 概述 中继路由系统由一组中继路由器组成,为不能交换路由信息的路由域提供中继路由。该…

关于小程序session_key漏洞问题的解决2022-12-01

业务背景:开发了小程序,使用了一段时间以后,小程序提示系统漏洞session_key的问题,在网上找了好多的博客,感觉好多写的没那么清晰,更偏重于理论,导致自己走了很多的弯路,为了更方便快…

基于海鸥算法优化的lssvm回归预测-附代码

基于海鸥算法优化的lssvm回归预测 - 附代码 文章目录基于海鸥算法优化的lssvm回归预测 - 附代码1.数据集2.lssvm模型3.基于海鸥算法优化的LSSVM4.测试结果5.Matlab代码摘要:为了提高最小二乘支持向量机(lssvm)的回归预测准确率,对…

【树莓派不吃灰】Linux服务器篇(核心概念)

目录1. 第一章 架设服务器前的准备工作2. 第二章 基础网络概念3. 第三章 局域网络架构简介4. 第四章 连上 Internet5. 第五章 Linux 常用网络指令6. 第六章 Linux 网络侦错7. 第七章 网络安全与主机基本防护8. 第八章 路由观念与路由器设定9. 第九章 防火墙与 NAT 服务器&#…

Python源码剖析2-字符串对象PyStringObject

二、 1、PyStringObject与 PyString_Type PyStringObject是变长对象中的不可变对象。当创建了一个PyStringObject对象之后,该对象内部维护的字符串就不能再被改变了。这一点特性使得 PyStringObject 对象能作为 PyDictObject 的键值,但同时也使得一些字符串操作的效率大大降低…

Kafka RecordAccumulator 三 高并发写入数据

Kafka RecordAccumulator 三 高并发写入数据 首先我们客户端会通过多线程的方式来发送消息(一般业务需求可能会通过业务系统或者大数据流计算系统如Spark Streaming或者Flink将业务数据发送出去,进而让下游系统消费使用),那这里业…

【Linux】进程状态|僵尸进程 |孤儿进程

索引运行状态:阻塞状态挂起状态看看Linux是怎么做的运行状态R睡眠状态S停止状态T两个特殊的进程:僵尸进程孤儿进程在之前我们听过很多很多进程的状态,像是运行、新建、就绪、挂起、阻塞、等待、停止、挂机、死亡等等。推荐阅读:通…

http协议之digest(摘要)认证,详细讲解并附Java SpringBoot源码

目录 1.digest认证是什么? 2.digest认证过程 3.digest认证参数详解 4.基于SpringBoot实现digest认证 5.digest认证演示 6.digest认证完整项目 7.参考博客 1.digest认证是什么? HTTP通讯采用人类可阅读的文本格式进行数据通讯,其内容非…

Android入门第40天-Android中的Service(SimpleStartService)

简介 博文总阅读量已经突破了300万,给自己加油打CALL。 从今天开始,之前39天的Android如果每一篇只有30分钟就能读完和掌握那么从今天开始越往后会越复杂。因为我们的Android教程开始进入“中级”难度了。特别是Service,这个Service我要分成…