DQL查询数据(来自狂神视频)

本文详细介绍了MySQL的DQL查询操作,包括指定查询字段、去重、使用where子句进行逻辑与模糊查询、联表查询、排序和分页,以及深入探讨了子查询和嵌套查询的应用。
摘要由CSDN通过智能技术生成

一、指定查询字段

-- 查询全部的学生  SELECT 字段 FROM 表
SELECT * FROM student
-- 查询指定字段
SELECT `StudentNo`,`StudengtName` FROM student
-- 别名,给结果起一个名字 AS 可以给字段起别名,也可以给表起别名
SELECT `StudentNo` As 学号,`StudentName` As 学生姓名 FROM student  As studengt01
--拼接字符串 函数 Concat(a,b)
SELECT CONCAT(`姓名`,StudentName) As 新名字 FROM student

语法:SELECT 字段,... FROM

二、去重

SELECT DISTINCT `StudentNo` from result --发现重复数据,去重
SELECT VERSION()  --查询系统版本
SELECT 100*3-1 AS 计算结果   --用来计算
SELECT @@auto_increment increment --查询自增步长(变量)
-- 学员考试成绩加一分查看
SELECT `StudentBo`,`StudentResult`+1 As '提分后' FROM result

三、where条件字句

逻辑运算符

-- 查询考试成绩在95~100分之间
SELECT `StudentNo`,`StudentResout` FROM result
where StudentResout >=95 AND StudentResout <=100
-- 模糊查询区间
SELECT `StudentNo`,`StudentResout` FROM result
where StudentResout BETWEEN 98 AND 100
SELECT `StudentNo`,`StudentResout` FROM result
where StudentNo !=1000

模糊查询:比较运算符

运算符语法描述
IS NULLa is null如果操作符为NULL,结果为真
IS NOT NULLa is not null如果操作符不为NULL,结果为真
BETWEENa between b and c若a在b和c之间,则结果为真
Likea Like bSQL匹配,如果a匹配b,则结果为真
Ina in (a1,a2,…)如果a在a1,或者a2…,其中的某一个值,则结果为真
-- 查询姓刘的同学
-- like结合 %(代表0到任意个字符) _(一个字符)
-- 注意 %是在Like中用
-- 查询姓刘的同学
SELECT `StudentNo` ,`StudentName` FROM student 
WHERE StudentNmae like '刘%'

-- 查询姓刘的同学,名字后面只有一个字的
SELECT `StudentNo`,`StudentName` FROM student 
WHERE StudentNmae like '刘_'

-- 查询姓刘的同学,名字后面只有二个字的
SELECT `StudentNo`,`StudentName` FROM student 
WHERE StudentNmae like '刘__'

-- 查询名字中间有嘉字的同学 
SELECT `StudentNo`,`StudentName` FROM student 
WHERE StudentNmae like '%嘉%'

-- ==========in===============
-- 查询 1001,1002,1004号的学员
SELECT `StudentNo`,`StudentName` FROM student 
WHERE StudentNo IN (1001,1002,1003)

-- 查询在北京的学生
SELECT `StudentNo`,`StudentName` FROM student 
WHERE `Address` IN ('安徽') -- 必须精确查询

-- 查询地址为空的学生 null
SELECT `StudentNo`,`StudentName` FROM student 
WHERE address = '' OR address IS NULL

四、联表查询

SELECT s.studentNo,studentName,SubjectNo,StudentResult
FROM student AS s
INNER JOIN result AS r
WHERE s.studentNo = r.studentNo

五、分页和排序

1、排序

-- 排序: 升序 ASC  降序  DESC
-- ORDER BY  字段  排序方式
SELECT s.studentNo,studentName,SubjectNo,StudentResult
FROM student AS s
INNER JOIN result AS r
WHERE s.studentNo = r.studentNo
ORDER BY StudentResult ASC

2、分页

-- 分页
-- 语法: 起始值,页面的大小
-- LIMIT 0,5 从第一个数据开始,共显示5个数据
-- LIMIT1,6  从第二个数据开始,共显示6个数据
SELECT s.studentNo,studentName,SubjectNo,StudentResult
FROM student AS s
INNER JOIN result AS r
WHERE s.studentNo = r.studentNo
ORDER BY StudentResult ASC
LIMIT 15 

六、子查询和嵌套查询

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不吃辣的IT男

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值