一.什么是DQL
🥴DQL:Data Query Language数据查询语言,select用于从一个或者多个表中检索中的行(Recod)
🎯在开始进行数据库查询之前,我们需要创建几张表并且为这几张表插入相应的数据。
1 | sql复制代码# 创建学生信息表 |
然后我们向我们创建的表中插入对应的数据。
1 | sql复制代码# 向学生信息表中插入数据 |
然后我们可以在Navicat上面查询自己创建的表首先是学生信息表。
然后我们再查看学生成绩表。
二.简单的查询
😊查询表中的某一列的数据。
1 | sql复制代码SELECT `name` from `student_info`; |
我们在查询某一列的数据的时候还可以指定列的别名,通过以下的方式。
1 | sql复制代码SELECT `name` AS 'othername' from `student_info`; |
我们会发现查询的结果列的别名发生了变化,从原来的name变成了我们指定的othername,别名也有简写的方式来指定。
1 | sql复制代码SELECT `name` '名字' FROM `student_info`; |
🧙一次性查询多个表中的字段,多个字段之间通过,分割。
1 | sql复制代码SELECT `name`,`sex`,`number` FROM `student_info`; |
🤡一次性查询表中的所有数据字段;
1 | sql复制代码SELECT * FROM `student_info`; |
😁对查询结果去重,我们查询下student_info然后查看下结果。
1 | sql复制代码SELECT `department` FROM `student_info`; |
我们会看到有很多重复的内容,我们需要对它们进行去重,去重需要使用DISTINCT放在列名前进行去重
1 | sql复制代码SELECT DISTINCT `department` FROM `student_info`; |
然后我们就会发现重复的内容被我们去掉了。
👽对多行的重复的情况进行去重
1 | sql复制代码SELECT DISTINCT `department`,`major` FROM `student_info`; |
🦊对查询的条数进行限制,因为有的时候数据很多会直接把屏幕撑爆,所以我们很多情况下需要限制条数
1 | sql复制代码LIMIT 开始行, 限制条数; |
1 | sql复制代码SELECT `number`,`name`,`department` FROM `student_info` LIMIT 0,4; |
当然我们也可以使用MySQL指定的默认行,仅仅对条数进行限制。
1 | sql复制代码SELECT `number`,`name`,`department` FROM `student_info` LIMIT 4; |
😶🌫️对查询结果进行排序,排序的语法如下:其中ASC表示升序,DESC表示降序。
1 | sql复制代码ORDER BY 列名 ASC|DESC |
那么我们对刚才新建的成绩表进行按照score进行降序排序。
1 | sql复制代码SELECT * FROM `student_score` ORDER BY `score` DESC; |
🎯按照多列的值进行排序,语法如下,不同的字段使用,隔开,不写排序方式默认升序排序。
1 | sql复制代码ORDER BY 列1 ASC|DESC, 列2 ASC|DESC ... |
1 | sql复制代码SELECT * FROM `student_score` ORDER BY `subject`,`score` DESC; |
三.案例练习
😊找出成绩表中成绩最低的那条记录。
1 | sql复制代码SELECT * FROM `student_score` ORDER BY `score` ASC LIMIT 1; |
🧙其实这就涉及到了limit和order by的混合使用,limit需要在order by后面使用,然后让整个成绩表进行升序,然后取第一条就是成绩最低的那条数据。
本文转载自: 掘金