MySQL如何从多个表中选择不同的值
在MySQL中,有时候需要从多个表中选择不同的值。本文将介绍如何使用DISTINCT关键字来从多个表中选择不同的值。
阅读更多:MySQL 教程
使用DISTINCT关键字
在MySQL中,DISTINCT关键字用于返回唯一不同的值。要选择多个表中唯一不同的值,需要使用联结(JOIN)语句和DISTINCT。
假设我们有两个表:students和teachers。students表包含学生的名字,年龄和班级,而teachers表包含教师的名字和教授的科目。
students表:
| name | age | class |
|------|-----|-------|
| Tom | 20 | 1 |
| Jack | 21 | 2 |
| Lily | 22 | 1 |
teachers表:
| name | subject |
|-------|----------|
| John | Math |
| Sarah | English |
| David | Physics |
要从这两个表中选择唯一不同的班级和科目,可以使用以下SQL语句:
SELECT DISTINCT students.class, teachers.subject
FROM students
JOIN teachers
运行以上SQL语句后,输出结果如下:
| class | subject |
|-------|---------|
| 1 | Math |
| 1 | Physics |
| 2 | English |
以上结果表示,有三个不同的班级和三个不同的科目。如果没有使用DISTINCT关键字,输出结果会包含重复的班级或科目。
总结
在MySQL中,使用DISTINCT关键字可以从多个表中选择唯一不同的值。需要使用联结(JOIN)语句将多个表连接在一起,并在SELECT语句中使用DISTINCT关键字来返回唯一不同的值。