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条记录。
相关推荐
Hello.Reader4 小时前
深入浅出 Rust 的强大 match 表达式
开发语言·后端·rust
是小崔啊5 小时前
事务03之MVCC机制
数据库·mysql·事务·
customer087 小时前
【开源免费】基于SpringBoot+Vue.JS体育馆管理系统(JAVA毕业设计)
java·vue.js·spring boot·后端·开源
LUCIAZZZ9 小时前
简单的SQL语句的快速复习
java·数据库·sql
计算机-秋大田10 小时前
基于微信小程序的电子竞技信息交流平台设计与实现(LW+源码+讲解)
spring boot·后端·微信小程序·小程序·课程设计
fajianchen11 小时前
MySQL 索引存储结构
数据库·mysql
一张假钞11 小时前
Spark SQL读写Hive Table部署
hive·sql·spark
加油,旭杏12 小时前
【go语言】接口
开发语言·后端·golang
谢大旭13 小时前
ASP.NET Core 中间件
后端·中间件·c#