当前位置: 首页 > news >正文

SQL语言-select的使用方法

select语法的使用(SQLyog)

设定查询结果返回的行数

#设定查询结果返回的行数,需要使用limit,指定返回的行数
#格式:select 列名 from 表名 limit n;
#n代表限定的行数
SELECT stu_name FROM student LIMIT 3;#格式:select 列名 from 表名 limit n,m;
#从n行开始的后面的m行。mysql中的行数下标是从0开始的,
#3,4代表从第四行开始返回4行数据
SELECT stu_name FROM student LIMIT 3,4;

对查询结果进行排序

#对查询结果进行排序
#格式:select 列名 from 表名 order by 列名;
#指定排序方向
#order by的默认排序规则是升序排列(a~z),关键字是ASC
#如果要进行降序排列,那么就要使用desc来实现
SELECT * FROM student ORDER BY age ASC;
SELECT * FROM student ORDER BY age DESC;#查询学生表中年龄最大的学生的姓名
SELECT stu_name FROM student ORDER BY age DESC LIMIT 1;#使用where对查询的结果进行过滤
#格式:select 列名 from 表名 where 列满足的条件SELECT * FROM student WHERE age=22;#查询一班年龄最大的学生信息
SELECT * FROM student WHERE class_id=1 ORDER BY age DESC LIMIT 1;

where子句中的操作符

#where子句中的操作符
#=等于、>=、<=、!=、<、<=、<>不等于
#between...and... 指定在两个值之间,包括两个边界值SELECT * FROM student WHERE age >= 22;
SELECT * FROM student WHERE age != 22;
SELECT * FROM student WHERE age >= 20 AND age <= 22;
SELECT * FROM student WHERE age BETWEEN 20 AND 22;

and 和 or

#&& || and or 都是支持的
#and操作符代表多条件要同时满足
#or操作符代表用or连接的所有的条件有一个满足就可以
SELECT * FROM student WHERE age = 20 OR age = 19;#查询2班和4班中年龄在18岁以下的学生信息
#注意在mysql中and的优先级比or的优先级高,
#所以如果需要先处理or的条件就要加括号来提升or的优先级
SELECT * FROM student WHERE (class_id=2 OR class_id=4) AND age<18;

IN操作符的使用

#IN操作符的使用
#IN操作符是来指定在一个条件范围里进行匹配,IN取值包含在圆括号中
#IN操作符的特点:
#计算次序比较直观
#IN操作符比or操作符的执行效率更快
#IN可以包含其他的select语句,可以动态建立多级查询
SELECT * FROM student WHERE age IN (14,19,40);

NOT操作符

#NOT操作符
#它的功能是否定它之后所有跟的任何条件
SELECT * FROM student WHERE NOT age = 22;#查询年龄不是14、19、40的学生信息。
SELECT * FROM student WHERE NOT age IN (14,19,40);#NOT的优先级比or高,下面的语句无法过滤掉年龄是40岁的信息
SELECT * FROM student WHERE NOT age=22 OR age = 40;

LIKE操作

#LIKE操作
#通配符是用来匹配值的一部分的操作符
#为了在查找的时候使用like操作符跟上通配符来达到模糊查询的目的,不进行精确匹配。#%百分号
#%表示任何字符出现的任意次数(包括0次),但是不能匹配NULL;
SELECT * FROM student WHERE stu_name LIKE '武%';#下划线 _
#下划线的用途和%类似,但是下划线只能匹配单个字符而不是多个
SELECT * FROM student WHERE stu_name LIKE '武__';#%和_的区别
#_代表只能匹配一个字符,不能多也不能少
#通配符会更加消耗查询的时间,所以只在必要的时候才使用通配符

别名操作

#别名操作
#使用as关键字可以做别名操作
SELECT stu_name AS `name`, sex AS stu_sex FROM student;
#AS可以省略,如果省略中间需要用空格隔开
SELECT stu_name `name`, sex stu_sex FROM student;

算术运算

#算术运算 + - * /
#对单个字段进行算术运算
SELECT age+10 FROM student;
SELECT age-10 FROM student;
#对多个字段进行算术运算
SELECT age+class_id FROM student;

日期和时间的处理函数

#日期和时间的处理函数
#获取当前的日期时间函数
#curdate() 返回当前的日期
#curtime() 返回当前的时间
#now()     返回当前的日期时间SELECT CURDATE();
SELECT CURTIME();
SELECT NOW();#获取日期时间的一部分
#date() 返回日期时间的日期部分
#year() 返回日期时间的年的部分
#month() 返回日期时间的月的部分
#day()	 返回日期时间的日的部分SELECT DATE(date_time), YEAR(date_time), MONTH(date_time), DAY(date_time) FROM student;#时间日期计算函数
#AddDate() 增加一个日期
#给 date_time 日期加30天,查看结果日期
SELECT ADDDATE(date_time, 30) FROM student;#查询入班时间在2022-01-25的学生信息
#如果按照如下写法 只能查到时间是00:00:00的学生,其他时间段的学生查不到
SELECT * FROM student WHERE date_time='2022-01-25';
#可以直接先将日期用函数获取出来,然后再进行判断,就可以获取到所有数据了
SELECT * FROM student WHERE DATE(date_time)='2022-01-25';
#查询一个时间范围内的信息
SELECT * FROM student WHERE DATE(date_time) BETWEEN '2022-01-20' AND '2022-01-25';#查询2022年2月加入班级的学生
SELECT * FROM student WHERE YEAR(date_time) = '2022' AND MONTH(date_time)='2';

聚集函数

#聚集函数
#运用在单列上,计算和返回单个值的函数
#AVG() 返回某列的平均值
#COUNT() 统计某列的行数#MAX()  返回某列的最大值
#MIN()  返回某列的最小值
#SUM()	返回某列值之和SELECT AVG(age) avgAge FROM student;
#统计表中有多少行,最好用*,因为统计别的字段都有可能遇到NULL
SELECT COUNT(*) FROM student;
SELECT MAX(age) FROM student;
SELECT MIN(age) FROM student;
SELECT SUM(age) FROM student;

分组查询 group by

#分组查询 group by
#根据表中的某一个字段来将数据分为多个组,字段值相同的为一组,分组的目的是为了方便聚集计算
SELECT * FROM student GROUP BY class_id;
SELECT class_id, AVG(age) FROM student GROUP BY class_id;#对聚集的结果进行过滤
#对分组之后的数据要进行过滤时,需要使用having关键字来指定条件,不能使用where
SELECT class_id, AVG(age) FROM student GROUP BY class_id HAVING AVG(age) <= 20;#如果要对分组之后的结果的某个字段进行排序,可以在group by 之后继续使用order by来进行。
SELECT class_id, age FROM student GROUP BY class_id ORDER BY age DESC;

select中子句的顺序

#select中子句的顺序
#关键字		说明				是否必须使用
#SELECT		返回需要的列或者表达式		是
#FROM		从哪一个表中检索		仅在从表中选择数据的时候使用
#WHERE		行级过滤			否
#GROUP		分组说明			仅在进行按组计算的时候才使用
#HAVING		组级过滤			否
#ORDER BY	输出排序的顺序			否
#LIMIT		限制返回的行数			否#查询2班和4班中年龄总和最大的班级以及相应的年龄之和。
SELECT class_id, SUM(age) FROM student WHERE class_id IN (2,4) GROUP BY class_id
ORDER BY SUM(age) DESC LIMIT 1;

子查询

#子查询
#SQL允许建立子查询,代表在其他查询中的查询
#可以在一个查询语句中嵌套另外一个查询语句,这种语句也叫做嵌套查询,外层是父查询,内层的是子查询。
#外层查询需要使用到内层查询的结果,所以先执行内部的查询,再执行外部的查询
SELECT stu_name, age FROM student WHERE age IN (SELECT MAX(age) FROM student);#查询东方老师和司马老师所带班级的学生姓名
SELECT stu_name FROM student WHERE class_id IN (SELECT cls_id FROM teacher WHERE teacher_name IN ("东方老师", "司马老师"));#子查询的规则:
#子查询中的select语句总是要圆括号括起来
#子查询最多可以嵌套32层
#任何可以使用表达式的地方都可以使用子查询,只要它返回的是单个字段的值
#如果某个表只出现在子查询中而没有出现在外部查询中,那么该表的列就无法包含在输出中

MYSQL表联结操作

#MYSQL表联结操作
#如果在两个表进行连接的时候,没有指定条件,那么会出现笛卡尔积的框,返回的行数是第一个表的行数×第二个表的行数
SELECT * FROM student, teacher;#在两表联结的时候要指定匹配的相应字段,才能获取有效数据
SELECT * FROM student s, teacher t WHERE s.`class_id` = t.`cls_id`; 
#查询一班和二班的代课老师以及对应的学生姓名
SELECT teacher_name, stu_name FROM student s, teacher t WHERE s.`class_id`=t.`cls_id` AND class_id IN (1,2);#三表联合查询
#查询地址为广东的老师带的是哪些学生以及相应的授课科目。
#多表联结的时候 核心是要找到联结条件,一般情况下都是主键和外键进行相关联的。
SELECT stu_name, teacher_name, pro_name FROM student s, teacher t, project p
WHERE s.`class_id`=t.`cls_id` AND t.`project_id`=p.`pro_id` AND address='广东';

相关文章:

SQL语言-select的使用方法

select语法的使用&#xff08;SQLyog&#xff09; 设定查询结果返回的行数 #设定查询结果返回的行数&#xff0c;需要使用limit&#xff0c;指定返回的行数 #格式&#xff1a;select 列名 from 表名 limit n; #n代表限定的行数 SELECT stu_name FROM student LIMIT 3;#格式&a…...

深入理解Python中的排序算法:快速排序与归并排序实现

深入理解Python中的排序算法:快速排序与归并排序实现 排序是计算机科学中一个基本而重要的操作,几乎在所有的编程任务中都会遇到。Python提供了内置的排序函数,但了解排序算法的实现原理对于提升编程能力和解决问题的能力至关重要。本文将深入探讨两种经典的排序算法:快速…...

Linux基础命令 ② 未完成

linux系统目录结构 解释 bin: 包含基本的可执行二进制文件&#xff0c;供所有用户使用。 boot: 存储操作系统启动所需的关键文件&#xff0c;如内核和初始化 RAM 磁盘&#xff08;initramfs&#xff09;。 dev: 包含设备节点&#xff0c;表示物理设备或虚拟设备。 etc: 存储…...

怎么加密文件?分享文件加密四个方法,2024新版操作教程,教你搞定!

数据的安全性与隐私保护显得尤为重要。 无论是个人敏感信息、企业商业机密还是创意作品&#xff0c;文件加密都是保障其不被未授权访问的重要手段。 本文将为您详细介绍四种文件加密方法&#xff0c;并附上2024年新版操作教程&#xff0c;助您轻松搞定文件加密&#xff0c;守护…...

cesium加载魔方立方体

cesium加载多个小立方体&#xff0c;组合拼成一个大立方体。 地理坐标拼合的大立方体有错位问题。必须进行坐标转换。 <template><div class"map"><div id"mapContainer" ref"mapContainer" class"map-container">&…...

unity 粒子系统学习

差不多了解了基本的ui面板&#xff0c;学一下粒子系统 取消轮廓线 这样粒子biubiu的时候就没有橙黄色的轮廓线了 三个子模块概念...

CogVideoX环境搭建推理测试

引子 智谱AI版Sora开源&#xff0c;首个可商用&#xff0c;18G显存即可运行。前文写了Open-Sora1.2的博文&#xff0c;感兴趣的童鞋请移步&#xff08;Open-Sora1.2环境搭建&推理测试_open sora 1.2-CSDN博客&#xff09;。对于这种占用资源少&#xff0c;且效果不错的多模…...

STL—容器—list【list的介绍和基本使用】【list的迭代器失效问题】

STL—容器—list list的使用并不难&#xff0c;有了之前使用string和vector的基础后&#xff0c;学习起来并不难。因此这里不在详细的讲解如何使用&#xff0c;而是大致的将其基本接口都熟悉一下 1.list介绍 list的文档介绍 list是可以在常数范围内在任意位置进行插入和删除…...

【面试宝典】MySQL 面试问题

一、MySQL 中有哪几种锁&#xff1f; MySQL中的锁机制是数据库并发控制的重要组成部分&#xff0c;它用于管理多个用户对数据库资源的访问&#xff0c;确保数据的一致性和完整性。MySQL中的锁可以根据不同的分类标准进行分类&#xff0c;以下是一些常见的分类方式及对应的锁类…...

【Cpp筑基】三、对象和类

【Cpp筑基】三、对象和类 Cpp系列笔记目录 【Cpp筑基】一、内联函数、引用变量、函数重载、函数模板 【Cpp筑基】二、声明 vs 定义、头文件、存储持续性作用域和链接性、名称空间 【Cpp筑基】三、对象和类 【Cpp筑基】四、重载运算符、友元、类的转换函数 【Cpp筑基】五、类的继…...

数据库原理面试-核心概念-问题理解

目录 1.数据库、数据库系统与数据库管理系统 2.理解数据独立性 3.数据模型 4.模式、外模式和内模式 5.关系和关系数据库 6.主键与外键 7.SQL语言 8.索引与视图 9.数据库安全 10.数据库完整性 11.数据依赖和函数依赖 12.范式&#xff1f;三范式&#xff1f;为什么要遵…...

【JavaScript】JavaScript里的“先斩后奏”之王 shift()方法

定义: JavaScript中 shift 方法用于删除数组的第一个元素,并返回该元素。注意,该方法会改变原数组! 解释: 成语解释: ‌先斩后奏是一个汉语成语,其拼音为xiān zhǎn hu zu。这个成语最早出自于汉‌班固的《‌汉书‌申屠嘉传》,原指先把罪犯处决,再向皇帝奏闻。在现代…...

Python面试宝典第32题:课程表

题目 你这个学期必须选修numCourses门课程&#xff0c;记为0到numCourses - 1。在选修某些课程之前&#xff0c;需要一些先修课程。先修课程按数组prerequisites给出&#xff0c;其中prerequisites[i] [ai, bi]&#xff0c;表示如果要学习课程ai&#xff0c;则必须先学习课程b…...

简单介绍BTC的Layer2项目RGB

这里写自定义目录标题 介绍&#xff08;历史背景&#xff0c;项目成员&#xff09;核心技术组成部分一次性密封条&#xff08;single-use-seals&#xff09;客户端验证&#xff08;client-side validation&#xff09; 总结 注&#xff1a;该内容不构成投资建议&#xff0c;有些…...

跨境电商卖家必看:搭建安全稳定测评自养号环境系统

对于卖家而言&#xff0c;测评作为一种低成本、高回报的推广策略&#xff0c;对于提升产品流量、转化率、优化关键词质量分及增强链接权重等方面均发挥着积极作用。以下是自养号优势及测评环境搭建技术要点 一、搭建安全稳定的测评环境系统 核心要点&#xff1a; 硬件参数去…...

如何对open62541.h/open62541.c的UA_Client进行状态(在线/掉线)监控

文章目录 背景解决方案注意事项 背景 目前在利用open62541.h/open62541.c编写了一个与PLC进行OPCUA通讯的上位机程序。 上位机这边会定时对PLC的某个opcua变量进行写操作。但是假如PLC离线或者说拔掉网线&#xff0c;上位机就会直接崩溃死机&#xff0c;并且报如下的错误&…...

高等数学 第九讲 一元函数积分学的应用

1. 一元函数积分学的应用 文章目录 1. 一元函数积分学的应用1. 几何应用1.1 用定积分表达和计算平面图形的面积1.2 用定积分表达和计算旋转体的体积1.2.1 微分法1.2.2 二重积分法1.2.3 古尔丁定理1.2.4 旋转体的体积公式总结 1.3 用定积分表达和计算函数的平均数1.4 其他几何应…...

django如何更新数据库字段并与数据库保持同步?

关键步骤&#xff1a; 第一步&#xff1a; 执行&#xff1a;python manage.py makemigrations 你的项目名称第二步&#xff1a;它会提示你选1还是2&#xff0c;这里因为添加字段&#xff0c;所以选1第三步&#xff1a;出现>>>这个&#xff0c;直接输入这个第四步&am…...

jenkins插件 SSH Publishers

Jenkins 是一个开源的自动化服务器&#xff0c;常用于持续集成和持续交付 (CI/CD)。以下是一些与 Jenkins 相关的 SSH 发布者及其功能&#xff1a; SSH 插件&#xff1a; 功能: 允许 Jenkins 通过 SSH 执行远程命令。用户可以配置 SSH 服务器&#xff0c;使用 SSH 密钥进行身份…...

Kafka Client客户端操作详解

文章目录 基础客户端版本消息生产者消息消费者踩坑 客户端属性分析消费者分组消费机制生产者拦截器消息序列化消息分区路由机制生产者消息缓存机制发送应答机制生产者消息幂等性生产者消息事务 客户端流程总结 基础客户端版本 导入依赖 <properties><project.build.…...

超短脉冲激光自聚焦效应

前言与目录 强激光引起自聚焦效应机理 超短脉冲激光在脆性材料内部加工时引起的自聚焦效应&#xff0c;这是一种非线性光学现象&#xff0c;主要涉及光学克尔效应和材料的非线性光学特性。 自聚焦效应可以产生局部的强光场&#xff0c;对材料产生非线性响应&#xff0c;可能…...

练习(含atoi的模拟实现,自定义类型等练习)

一、结构体大小的计算及位段 &#xff08;结构体大小计算及位段 详解请看&#xff1a;自定义类型&#xff1a;结构体进阶-CSDN博客&#xff09; 1.在32位系统环境&#xff0c;编译选项为4字节对齐&#xff0c;那么sizeof(A)和sizeof(B)是多少&#xff1f; #pragma pack(4)st…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

Springcloud:Eureka 高可用集群搭建实战(服务注册与发现的底层原理与避坑指南)

引言&#xff1a;为什么 Eureka 依然是存量系统的核心&#xff1f; 尽管 Nacos 等新注册中心崛起&#xff0c;但金融、电力等保守行业仍有大量系统运行在 Eureka 上。理解其高可用设计与自我保护机制&#xff0c;是保障分布式系统稳定的必修课。本文将手把手带你搭建生产级 Eur…...

土地利用/土地覆盖遥感解译与基于CLUE模型未来变化情景预测;从基础到高级,涵盖ArcGIS数据处理、ENVI遥感解译与CLUE模型情景模拟等

&#x1f50d; 土地利用/土地覆盖数据是生态、环境和气象等诸多领域模型的关键输入参数。通过遥感影像解译技术&#xff0c;可以精准获取历史或当前任何一个区域的土地利用/土地覆盖情况。这些数据不仅能够用于评估区域生态环境的变化趋势&#xff0c;还能有效评价重大生态工程…...

零基础设计模式——行为型模式 - 责任链模式

第四部分&#xff1a;行为型模式 - 责任链模式 (Chain of Responsibility Pattern) 欢迎来到行为型模式的学习&#xff01;行为型模式关注对象之间的职责分配、算法封装和对象间的交互。我们将学习的第一个行为型模式是责任链模式。 核心思想&#xff1a;使多个对象都有机会处…...

GitHub 趋势日报 (2025年06月06日)

&#x1f4ca; 由 TrendForge 系统生成 | &#x1f310; https://trendforge.devlive.org/ &#x1f310; 本日报中的项目描述已自动翻译为中文 &#x1f4c8; 今日获星趋势图 今日获星趋势图 590 cognee 551 onlook 399 project-based-learning 348 build-your-own-x 320 ne…...

深度学习之模型压缩三驾马车:模型剪枝、模型量化、知识蒸馏

一、引言 在深度学习中&#xff0c;我们训练出的神经网络往往非常庞大&#xff08;比如像 ResNet、YOLOv8、Vision Transformer&#xff09;&#xff0c;虽然精度很高&#xff0c;但“太重”了&#xff0c;运行起来很慢&#xff0c;占用内存大&#xff0c;不适合部署到手机、摄…...

Modbus RTU与Modbus TCP详解指南

目录 1. Modbus协议基础 1.1 什么是Modbus? 1.2 Modbus协议历史 1.3 Modbus协议族 1.4 Modbus通信模型 🎭 主从架构 🔄 请求响应模式 2. Modbus RTU详解 2.1 RTU是什么? 2.2 RTU物理层 🔌 连接方式 ⚡ 通信参数 2.3 RTU数据帧格式 📦 帧结构详解 🔍…...

FFmpeg avformat_open_input函数分析

函数内部的总体流程如下&#xff1a; avformat_open_input 精简后的代码如下&#xff1a; int avformat_open_input(AVFormatContext **ps, const char *filename,ff_const59 AVInputFormat *fmt, AVDictionary **options) {AVFormatContext *s *ps;int i, ret 0;AVDictio…...