欢迎光临
我们一直在努力

mysql 数据去重查询

在MySQL中,可以使用DISTINCT关键字进行数据去重查询。SELECT DISTINCT column_name FROM table_name;

MySQL数据库学习之去重与连接查询详解

在MySQL数据库中,去重和连接查询是两个非常常用的操作,本文将详细介绍这两种操作的使用方法和注意事项。

去重操作

1、使用DISTINCT关键字去重

在MySQL中,可以使用DISTINCT关键字对查询结果进行去重,语法如下:

SELECT DISTINCT 列名 FROM 表名;

有一个名为students的表,包含以下数据:

id name age
1 张三 20
2 李四 22
3 王五 20
4 赵六 22

要查询所有不同的年龄,可以使用以下SQL语句:

SELECT DISTINCT age FROM students;

查询结果为:

age
20
22

2、使用GROUP BY子句去重

除了使用DISTINCT关键字,还可以使用GROUP BY子句对查询结果进行去重,语法如下:

SELECT 列名 FROM 表名 GROUP BY 列名;

要查询所有不同的年龄,可以使用以下SQL语句:

SELECT age FROM students GROUP BY age;

查询结果为:

age
20
22

需要注意的是,使用GROUP BY子句去重时,查询结果中的列名不能直接使用原始表中的列名,需要使用聚合函数(如COUNT、SUM等)或者重新命名。

SELECT age, COUNT(age) as count FROM students GROUP BY age;

连接查询

1、内连接(INNER JOIN)

内连接是最常见的连接方式,它会返回两个表中满足连接条件的记录,语法如下:

SELECT * FROM 表1 INNER JOIN 表2 ON 表1.列名 = 表2.列名;

有两个名为students和courses的表,分别包含学生信息和课程信息,可以使用以下SQL语句进行内连接查询:

SELECT * FROM students INNER JOIN courses ON students.id = courses.student_id;

查询结果为:

id name age course_id course_name student_id teacher_id score
1 张三 20 1 Python 1 1 90
2 李四 22 2 Java 2 2 85
3 王五 20 NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL
NULL NULL NULL NULL NULL NULL NULL NULL

|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||//NULL表示没有匹配的记录。

赞(0) 打赏
未经允许不得转载:九八云安全 » mysql 数据去重查询

评论 抢沙发