MySQL【二】

查询列

SELECT [ALL | DISTINCT ] * | 列名1[,......列名n] FROM 表名;

查询所有选课学生的学号,结果去除重复值

select distinct sno from sc;

选择行

查询满足条件的数据集
SELECT 字段列表 FROM 表名 WHERE 查询条件

sql 复制代码
查询不属于数学系或外国语系的学生全部信息 
select * from s where dept <> '数学' and dept <> '外国语';

带IN关键字的查询

用来限制查询数据的范围属于指定集合的数据集,格式为: SELECT 字段列表 FROM 表名 WHERE 表达式 IN (值1,值2...值N);

带NOT IN关键字的查询

SELECT 字段列表 FROM 表名 WHERE 表达式 NOT IN (值1,值2...值N);

sql 复制代码
查询选修了课程'c02'、'c03'或'c04'任意一门课的学生学号
select distinct sno from sc where cno in('c02', 'c03','c04');

带BETWEEN AND关键字的查询

SELECT 字段列表 FROM 表名 WHERE 字段名 BETWEEN N1 AND N2; 其中N1是范围的开始值(下限),N2是结束值(上限),包含上下限。

sql 复制代码
########## 查询查询成绩在80~90分的学生选课记录 ##########
select sno,cno,score from sc where score between 80 and 90;

带NOT BETWEEN AND关键字的查询

SELECT 字段列表 FROM 表名 WHERE 字段名 NOT BETWEEN N1 AND N2; 不包含上下限。

带LIKE关键字的模糊查询

1.通配符'%'可以匹配任意长度的字符,长度可以为0;

2.通配符'_'只能模糊匹配1个字符。

语法格式如下: SELECT 字段名 FROM 表名 WHERE 字段名 [NOT] LIKE '匹配串' [ESCAPE '转义字符'];

查询空值

SELECT 字段名 FROM 表名 WHERE 字段名 IS [NOT] NULL;

sql 复制代码
########## 查询考试成绩为非空的学生学号和课程号   ##########

select sno,cno from sc where score is not null;

分组查询

SELECT 字段列表 FROM 表名 GROUP BY 字段名1,字段名2,......[HAVING 条件表达式];

对查询结果进行排序

SELECT 列名 FROM 表名 ORDER BY {列名 | 表达式 | 正整数} [ASC | DESC] [,...n]

sql 复制代码
########## 查询所有学生学号、姓名、所在院系和年龄(别名:age),查询结果按系名升序,同系学生按年龄降序排列 ##########
select sno,sname,dept,age from s order by dept asc,age desc;

使用LIMIT限制查询结果的数量

SELECT 字段名 FROM 表名 LIMIT [OFFSET,] 记录数;

sql 复制代码
########## 查询选修了'c01'课程第2名到第4名的学生学生学号、课程号和成绩  ##########
SELECT sno, cno, score
FROM sc
WHERE cno = 'c01'
ORDER BY score DESC
LIMIT 1,3 ;
LIMIT 1,3:
这一行用于限制查询结果的数量。LIMIT子句的第一个数字(1)表示从排序后的结果中跳过前1行,第二个数字(3)表示返回接下来的3行。因此,这个LIMIT子句的意思是返回排序后从第二条记录开始的3条记录。
相关推荐
卷无止境1 分钟前
LiteLLM 全面解析开源AI网关如何统一管理百余种大模型
后端·python
__zRainy__3 分钟前
Node系列 · Node基础:https 模块
后端·网络协议·http·https·node.js
隔窗听雨眠10 分钟前
MySQL索引机制深度解析:从B+树原理到高并发查询优化的完整指南
数据库·b树·mysql
我的xiaodoujiao21 分钟前
使用PyMySQL模块技术操作MySQL数据库
数据库·python·测试工具·mysql
AINative软件工程30 分钟前
LLM Token Budget 工程实践:给每个请求设上限,让成本和质量都在掌控中
后端·llm·ai编程
卷无止境40 分钟前
终端里的AI辅助,一场正在发生的编程效率变革
后端·python
程序员爱钓鱼44 分钟前
Go 编程实战:Map——使用 Key-Value 管理键值数据
后端·rust·go
程序员爱钓鱼1 小时前
Rust Trait Object详解:dyn Trait与动态分发
后端·面试·rust
To_OC9 小时前
Next.js + Redis 构建笔记系统:Redis Hash 实战与性能优化
redis·后端·next.js
灯澜忆梦11 小时前
【MySQL17】进阶篇 | InnoDB引擎
数据库·mysql