#多表查询
#1.查询学生的名字,课程号和分数
#score表和student表中都有sno项,可以利用sno将两表对应起来,实现多表查询
SELECT sname,cno,dgree from student,score where student.sno=score.sno;
+--------+-------+-------+
| sname | cno | dgree |
+--------+-------+-------+
| 张一 | 3-101 | 86 |
| 张一 | 3-102 | 75 |
| 张一 | 3-103 | 88 |
| 张二 | 3-102 | 65 |
| 张二 | 3-103 | 76 |
| 张二 | 3-104 | 90 |
| 张三 | 3-101 | 66 |
| 张三 | 3-103 | 99 |
| 张三 | 3-104 | 88 |
| 张四 | 3-101 | 79 |
| 张四 | 3-103 | 87 |
| 张四 | 3-104 | 63 |
| 张五 | 3-101 | 79 |
| 张五 | 3-102 | 76 |
| 张五 | 3-103 | 99 |
| 张六 | 3-104 | 90 |
| 张七 | 3-104 | 76 |
| 张八 | 3-103 | 88 |
+--------+-------+-------+
#2.查询学生的,学号,课程名,和分数
#score表和course表中都有cno项,可以利用cno将两表对应起来,实现多表查询
SELECT sno,cname,dgree from course,score where course.cno=score.cno;
+-----+--------+-------+
| sno | cname | dgree |
+-----+--------+-------+
| 101 | C++ | 86 |
| 103 | C++ | 66 |
| 104 | C++ | 79 |
| 105 | C++ | 79 |
| 101 | JAVA | 75 |
| 102 | JAVA | 65 |
| 105 | JAVA | 76 |
| 101 | PYTHON | 88 |
| 102 | PYTHON | 76 |
| 103 | PYTHON | 99 |
| 104 | PYTHON | 87 |
| 105 | PYTHON | 99 |
| 108 | PYTHON | 88 |
| 102 | PHP | 90 |
| 103 | PHP | 88 |
| 104 | PHP | 63 |
| 106 | PHP | 90 |
| 107 | PHP | 76 |
+-----+--------+-------+
#3.查询学生的姓名,课程名和分数
#score表和student表中都有sno项,可以利用sno将两表对应起来,score表和course表中都有cno项,可以利用cno将两表对应起来,实现三表查询
SELECT sname,cname,dgree FROM student,course,score where student.sno=score.sno AND course.cno=score.cno;
+--------+--------+-------+
| sname | cname | dgree |
+--------+--------+-------+
| 张一 | C++ | 86 |
| 张三 | C++ | 66 |
| 张四 | C++ | 79 |
| 张五 | C++ | 79 |
| 张一 | JAVA | 75 |
| 张二 | JAVA | 65 |
| 张五 | JAVA | 76 |
| 张一 | PYTHON | 88 |
| 张二 | PYTHON | 76 |
| 张三 | PYTHON | 99 |
| 张四 | PYTHON | 87 |
| 张五 | PYTHON | 99 |
| 张八 | PYTHON | 88 |
| 张二 | PHP | 90 |
| 张三 | PHP | 88 |
| 张四 | PHP | 63 |
| 张六 | PHP | 90 |
| 张七 | PHP | 76 |
+--------+--------+-------+
#4.查询学生的学号,姓名,课程号,课程名和分数
#注意,这里学生表和课程表都有学生号,所有要指明是哪个表的学生号,选择任意一个表即可,课程号同理
SELECT student.sno,sname,course.cno,cname,dgree FROM student,course,score where student.sno=score.sno AND course.cno=score.cno;
+-----+--------+-------+--------+-------+
| sno | sname | cno | cname | dgree |
+-----+--------+-------+--------+-------+
| 101 | 张一 | 3-101 | C++ | 86 |
| 103 | 张三 | 3-101 | C++ | 66 |
| 104 | 张四 | 3-101 | C++ | 79 |
| 105 | 张五 | 3-101 | C++ | 79 |
| 101 | 张一 | 3-102 | JAVA | 75 |
| 102 | 张二 | 3-102 | JAVA | 65 |
| 105 | 张五 | 3-102 | JAVA | 76 |
| 101 | 张一 | 3-103 | PYTHON | 88 |
| 102 | 张二 | 3-103 | PYTHON | 76 |
| 103 | 张三 | 3-103 | PYTHON | 99 |
| 104 | 张四 | 3-103 | PYTHON | 87 |
| 105 | 张五 | 3-103 | PYTHON | 99 |
| 108 | 张八 | 3-103 | PYTHON | 88 |
| 102 | 张二 | 3-104 | PHP | 90 |
| 103 | 张三 | 3-104 | PHP | 88 |
| 104 | 张四 | 3-104 | PHP | 63 |
| 106 | 张六 | 3-104 | PHP | 90 |
| 107 | 张七 | 3-104 | PHP | 76 |
+-----+--------+-------+--------+-------+
#如果不将两表对应起来,而是直接查询,会出现如下情况
SELECT sname,cno,dgree from student,score;
+--------+-------+-------+
| sname | cno | dgree |
+--------+-------+-------+
| 张一 | 3-101 | 86 |
| 张二 | 3-101 | 86 |
| 张三 | 3-101 | 86 |
| 张四 | 3-101 | 86 |
| 张五 | 3-101 | 86 |
| 张六 | 3-101 | 86 |
| 张七 | 3-101 | 86 |
| 张八 | 3-101 | 86 |
| 张一 | 3-102 | 75 |
| 张二 | 3-102 | 75 |
| 张三 | 3-102 | 75 |
| 张四 | 3-102 | 75 |
| 张五 | 3-102 | 75 |
| 张六 | 3-102 | 75 |
| 张七 | 3-102 | 75 |
| 张八 | 3-102 | 75 |
| 张一 | 3-103 | 88 |
| 张二 | 3-103 | 88 |
| 张三 | 3-103 | 88 |
| 张四 | 3-103 | 88 |
| 张五 | 3-103 | 88 |
| 张六 | 3-103 | 88 |
| 张七 | 3-103 | 88 |
| 张八 | 3-103 | 88 |
| 张一 | 3-104 | 90 |
| 张二 | 3-104 | 90 |
| 张三 | 3-104 | 90 |
| 张四 | 3-104 | 90 |
| 张五 | 3-104 | 90 |
| 张六 | 3-104 | 90 |
| 张七 | 3-104 | 90 |
| 张八 | 3-104 | 90 |
| 张一 | 3-102 | 65 |
| 张二 | 3-102 | 65 |
| 张三 | 3-102 | 65 |
| 张四 | 3-102 | 65 |
| 张五 | 3-102 | 65 |
| 张六 | 3-102 | 65 |
| 张七 | 3-102 | 65 |
| 张八 | 3-102 | 65 |
| 张一 | 3-103 | 76 |
| 张二 | 3-103 | 76 |
| 张三 | 3-103 | 76 |
| 张四 | 3-103 | 76 |
| 张五 | 3-103 | 76 |
| 张六 | 3-103 | 76 |
| 张七 | 3-103 | 76 |
| 张八 | 3-103 | 76 |
| 张一 | 3-101 | 66 |
| 张二 | 3-101 | 66 |
| 张三 | 3-101 | 66 |
| 张四 | 3-101 | 66 |
| 张五 | 3-101 | 66 |
| 张六 | 3-101 | 66 |
| 张七 | 3-101 | 66 |
| 张八 | 3-101 | 66 |
| 张一 | 3-104 | 88 |
| 张二 | 3-104 | 88 |
| 张三 | 3-104 | 88 |
| 张四 | 3-104 | 88 |
| 张五 | 3-104 | 88 |
| 张六 | 3-104 | 88 |
| 张七 | 3-104 | 88 |
| 张八 | 3-104 | 88 |
| 张一 | 3-103 | 99 |
| 张二 | 3-103 | 99 |
| 张三 | 3-103 | 99 |
| 张四 | 3-103 | 99 |
| 张五 | 3-103 | 99 |
| 张六 | 3-103 | 99 |
| 张七 | 3-103 | 99 |
| 张八 | 3-103 | 99 |
| 张一 | 3-104 | 63 |
| 张二 | 3-104 | 63 |
| 张三 | 3-104 | 63 |
| 张四 | 3-104 | 63 |
| 张五 | 3-104 | 63 |
| 张六 | 3-104 | 63 |
| 张七 | 3-104 | 63 |
| 张八 | 3-104 | 63 |
| 张一 | 3-103 | 87 |
| 张二 | 3-103 | 87 |
| 张三 | 3-103 | 87 |
| 张四 | 3-103 | 87 |
| 张五 | 3-103 | 87 |
| 张六 | 3-103 | 87 |
| 张七 | 3-103 | 87 |
| 张八 | 3-103 | 87 |
| 张一 | 3-101 | 79 |
| 张二 | 3-101 | 79 |
| 张三 | 3-101 | 79 |
| 张四 | 3-101 | 79 |
| 张五 | 3-101 | 79 |
| 张六 | 3-101 | 79 |
| 张七 | 3-101 | 79 |
| 张八 | 3-101 | 79 |
| 张一 | 3-101 | 79 |
| 张二 | 3-101 | 79 |
| 张三 | 3-101 | 79 |
| 张四 | 3-101 | 79 |
| 张五 | 3-101 | 79 |
| 张六 | 3-101 | 79 |
| 张七 | 3-101 | 79 |
| 张八 | 3-101 | 79 |
| 张一 | 3-102 | 76 |
| 张二 | 3-102 | 76 |
| 张三 | 3-102 | 76 |
| 张四 | 3-102 | 76 |
| 张五 | 3-102 | 76 |
| 张六 | 3-102 | 76 |
| 张七 | 3-102 | 76 |
| 张八 | 3-102 | 76 |
| 张一 | 3-103 | 99 |
| 张二 | 3-103 | 99 |
| 张三 | 3-103 | 99 |
| 张四 | 3-103 | 99 |
| 张五 | 3-103 | 99 |
| 张六 | 3-103 | 99 |
| 张七 | 3-103 | 99 |
| 张八 | 3-103 | 99 |
| 张一 | 3-104 | 90 |
| 张二 | 3-104 | 90 |
| 张三 | 3-104 | 90 |
| 张四 | 3-104 | 90 |
| 张五 | 3-104 | 90 |
| 张六 | 3-104 | 90 |
| 张七 | 3-104 | 90 |
| 张八 | 3-104 | 90 |
| 张一 | 3-104 | 76 |
| 张二 | 3-104 | 76 |
| 张三 | 3-104 | 76 |
| 张四 | 3-104 | 76 |
| 张五 | 3-104 | 76 |
| 张六 | 3-104 | 76 |
| 张七 | 3-104 | 76 |
| 张八 | 3-104 | 76 |
| 张一 | 3-103 | 88 |
| 张二 | 3-103 | 88 |
| 张三 | 3-103 | 88 |
| 张四 | 3-103 | 88 |
| 张五 | 3-103 | 88 |
| 张六 | 3-103 | 88 |
| 张七 | 3-103 | 88 |
| 张八 | 3-103 | 88 |
+--------+-------+-------+