MySQL 查询数据学习笔记

SELECT 语句

SELECT是MySQL中最常用的语句之一,它用于从一个或多个表中选择数据。

以下是一个简单的SELECT语句的基本结构:

sqlCopy Code
SELECT column1, column2, ... FROM table_name;

其中,column1, column2, ... 是你想要从表中选择的列名,table_name是你想要从中选择数据的表名。

例如,如果你想要从一个名为students的表中选择所有学生的姓名和年龄,你可以使用以下语句:

sqlCopy Code
SELECT name, age FROM students;

WHERE 语句

WHERE语句允许你在SELECT语句中设置条件来过滤数据。你可以通过多种方式设置这些条件,例如比较运算符、逻辑运算符等。

以下是一个使用WHERE子句的SELECT语句示例:

sqlCopy Code
SELECT name, age FROM students WHERE age > 18;

以上语句将从students表中选择所有年龄大于18岁的学生,并仅显示他们的姓名和年龄。

ORDER BY 语句

ORDER BY语句允许你对查询结果进行排序。默认情况下,MySQL会按照升序方式排序,但你也可以通过在ORDER BY子句中指定DESC关键字来进行降序排序。

以下是一个带有ORDER BY子句的SELECT语句示例:

sqlCopy Code
SELECT name, age FROM students WHERE age > 18 ORDER BY age DESC;

以上语句将从students表中选择所有年龄大于18岁的学生,并按年龄降序排列。

GROUP BY 语句

GROUP BY语句允许你将数据分组并对每个组进行聚合(例如,计算平均值、总数等)。

以下是一个带有GROUP BY子句的SELECT语句示例:

sqlCopy Code
SELECT gender, AVG(age) FROM students GROUP BY gender;

以上语句将从students表中选择所有学生的性别和年龄,并根据性别对数据进行分组。最后,它将计算每个组的平均年龄并显示结果。

JOIN 语句

JOIN语句允许你在查询中连接两个或多个表,并检索相关的数据。

以下是一个使用JOIN子句的SELECT语句示例:

sqlCopy Code
SELECT students.name, grades.grade FROM students JOIN grades ON students.id = grades.student_id;

以上语句将从studentsgrades表中选择姓名和成绩,并根据students.idgrades.student_id这两列进行连接。

实例

假设我们有以下两个表:

students 表

id name age gender
1 Alice 20 F
2 Bob 19 M
3 Claire 21 F

grades 表

id student_id grade
1 1 90
2 2 85
3 3 95

以下是一些使用MySQL查询数据的示例:

示例1:选择 students 表中所有学生的姓名和年龄

sqlCopy Code
SELECT name, age FROM students;

结果:

name age
Alice 20
Bob 19
Claire 21

示例2:选择 grades 表中所有学生的成绩

sqlCopy Code
SELECT grade FROM grades;

结果:

grade
90
85
95

示例3:根据姓名过滤数据

sqlCopy Code
SELECT name, age FROM students WHERE name = 'Alice';

结果:

name age
Alice 20

示例4:连接表并选择特定列

sqlCopy Code
SELECT students.name, grades.grade FROM students JOIN grades ON students.id = grades.student_id;

结果:

name grade
Alice 90
Bob 85
Claire 95

示例5:计算平均年龄

sqlCopy Code
SELECT AVG(age) FROM students;

结果:

AVG(age)
20

以上是MySQL查询数据的一些基本示例,希望能对你有所帮助。