|
联接查询:事先将两张或多张表联接(join),根据join的结果进行查询; cross join:交叉联接(效率极低,不常用) (a+b)*(c+d)=ac+ad+bc+bd 结果四行 SELECT * FROM students,classed; 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
| mysql> USE hellodb
Database changed
mysql> SHOW TABLES;
+-------------------+
| Tables_in_hellodb |
+-------------------+
| classes |
| coc |
| courses |
| scores |
| students |
| teachers |
| toc |
+-------------------+
7 rows in set (0.00 sec)
mysql>
mysql> SELECT * FROM students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 |
| 2 | Shi Potian | 22 | M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 9 | Ren Yingying | 20 | F | 6 | NULL |
| 10 | Yue Lingshan | 19 | F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 | F | 1 | NULL |
| 13 | Tian Boguang | 33 | M | 2 | NULL |
| 14 | Lu Wushuang | 17 | F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 19 | Xue Baochai | 18 | F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 | Xu Xian | 27 | M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set (0.00 sec)
mysql> SELECT * FROM classes;
+---------+----------------+----------+
| ClassID | Class | NumOfStu |
+---------+----------------+----------+
| 1 | Shaolin Pai | 10 |
| 2 | Emei Pai | 7 |
| 3 | QingCheng Pai | 11 |
| 4 | Wudang Pai | 12 |
| 5 | Riyue Shenjiao | 31 |
| 6 | Lianshan Pai | 27 |
| 7 | Ming Jiao | 27 |
| 8 | Xiaoyao Pai | 15 |
+---------+----------------+----------+
8 rows in set (0.00 sec)
mysql> SELECT * FROM students,classes;
+-------+---------------+-----+--------+---------+-----------+---------+----------------+----------+
| StuID | Name | Age | Gender | ClassID | TeacherID | ClassID | Class | NumOfStu |
+-------+---------------+-----+--------+---------+-----------+---------+----------------+----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 1 | Shaolin Pai | 10 |
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 2 | Emei Pai | 7 |
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 3 | QingCheng Pai | 11 |
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 4 | Wudang Pai | 12 |
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 5 | Riyue Shenjiao | 31 |
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 6 | Lianshan Pai | 27 |
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 7 | Ming Jiao | 27 |
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 8 | Xiaoyao Pai | 15 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 1 | Shaolin Pai | 10 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 2 | Emei Pai | 7 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 3 | QingCheng Pai | 11 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 4 | Wudang Pai | 12 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 5 | Riyue Shenjiao | 31 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 6 | Lianshan Pai | 27 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 7 | Ming Jiao | 27 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 8 | Xiaoyao Pai | 15 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 1 | Shaolin Pai | 10 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 2 | Emei Pai | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 3 | QingCheng Pai | 11 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 4 | Wudang Pai | 12 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 5 | Riyue Shenjiao | 31 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 6 | Lianshan Pai | 27 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 7 | Ming Jiao | 27 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 8 | Xiaoyao Pai | 15 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 1 | Shaolin Pai | 10 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 2 | Emei Pai | 7 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 3 | QingCheng Pai | 11 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 4 | Wudang Pai | 12 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 5 | Riyue Shenjiao | 31 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 6 | Lianshan Pai | 27 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 7 | Ming Jiao | 27 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 8 | Xiaoyao Pai | 15 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 1 | Shaolin Pai | 10 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 2 | Emei Pai | 7 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 3 | QingCheng Pai | 11 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 4 | Wudang Pai | 12 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 5 | Riyue Shenjiao | 31 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 6 | Lianshan Pai | 27 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 7 | Ming Jiao | 27 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 8 | Xiaoyao Pai | 15 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 1 | Shaolin Pai | 10 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 2 | Emei Pai | 7 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 3 | QingCheng Pai | 11 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 4 | Wudang Pai | 12 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 5 | Riyue Shenjiao | 31 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 6 | Lianshan Pai | 27 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 7 | Ming Jiao | 27 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 8 | Xiaoyao Pai | 15 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 1 | Shaolin Pai | 10 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 2 | Emei Pai | 7 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 3 | QingCheng Pai | 11 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 4 | Wudang Pai | 12 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 5 | Riyue Shenjiao | 31 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 6 | Lianshan Pai | 27 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 7 | Ming Jiao | 27 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 8 | Xiaoyao Pai | 15 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 1 | Shaolin Pai | 10 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 2 | Emei Pai | 7 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 3 | QingCheng Pai | 11 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 4 | Wudang Pai | 12 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 5 | Riyue Shenjiao | 31 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 6 | Lianshan Pai | 27 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 7 | Ming Jiao | 27 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 8 | Xiaoyao Pai | 15 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 1 | Shaolin Pai | 10 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 2 | Emei Pai | 7 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 3 | QingCheng Pai | 11 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 4 | Wudang Pai | 12 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 5 | Riyue Shenjiao | 31 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 6 | Lianshan Pai | 27 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 7 | Ming Jiao | 27 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 8 | Xiaoyao Pai | 15 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 1 | Shaolin Pai | 10 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 2 | Emei Pai | 7 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 3 | QingCheng Pai | 11 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 4 | Wudang Pai | 12 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 5 | Riyue Shenjiao | 31 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 6 | Lianshan Pai | 27 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 7 | Ming Jiao | 27 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 8 | Xiaoyao Pai | 15 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 1 | Shaolin Pai | 10 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 2 | Emei Pai | 7 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 3 | QingCheng Pai | 11 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 4 | Wudang Pai | 12 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 5 | Riyue Shenjiao | 31 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 6 | Lianshan Pai | 27 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 7 | Ming Jiao | 27 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 8 | Xiaoyao Pai | 15 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 1 | Shaolin Pai | 10 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 2 | Emei Pai | 7 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 3 | QingCheng Pai | 11 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 4 | Wudang Pai | 12 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 5 | Riyue Shenjiao | 31 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 6 | Lianshan Pai | 27 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 7 | Ming Jiao | 27 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 8 | Xiaoyao Pai | 15 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 1 | Shaolin Pai | 10 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 2 | Emei Pai | 7 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 3 | QingCheng Pai | 11 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 4 | Wudang Pai | 12 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 5 | Riyue Shenjiao | 31 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 6 | Lianshan Pai | 27 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 7 | Ming Jiao | 27 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 8 | Xiaoyao Pai | 15 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 1 | Shaolin Pai | 10 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 2 | Emei Pai | 7 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 3 | QingCheng Pai | 11 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 4 | Wudang Pai | 12 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 5 | Riyue Shenjiao | 31 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 6 | Lianshan Pai | 27 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 7 | Ming Jiao | 27 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 8 | Xiaoyao Pai | 15 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 1 | Shaolin Pai | 10 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 2 | Emei Pai | 7 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 3 | QingCheng Pai | 11 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 4 | Wudang Pai | 12 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 5 | Riyue Shenjiao | 31 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 6 | Lianshan Pai | 27 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 7 | Ming Jiao | 27 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 8 | Xiaoyao Pai | 15 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 1 | Shaolin Pai | 10 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 2 | Emei Pai | 7 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 3 | QingCheng Pai | 11 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 4 | Wudang Pai | 12 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 5 | Riyue Shenjiao | 31 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 6 | Lianshan Pai | 27 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 7 | Ming Jiao | 27 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 8 | Xiaoyao Pai | 15 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 1 | Shaolin Pai | 10 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 2 | Emei Pai | 7 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 3 | QingCheng Pai | 11 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 4 | Wudang Pai | 12 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 5 | Riyue Shenjiao | 31 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 6 | Lianshan Pai | 27 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 7 | Ming Jiao | 27 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 8 | Xiaoyao Pai | 15 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 1 | Shaolin Pai | 10 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 2 | Emei Pai | 7 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 3 | QingCheng Pai | 11 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 4 | Wudang Pai | 12 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 5 | Riyue Shenjiao | 31 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 6 | Lianshan Pai | 27 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 7 | Ming Jiao | 27 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 8 | Xiaoyao Pai | 15 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 1 | Shaolin Pai | 10 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 2 | Emei Pai | 7 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 3 | QingCheng Pai | 11 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 4 | Wudang Pai | 12 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 5 | Riyue Shenjiao | 31 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 6 | Lianshan Pai | 27 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 7 | Ming Jiao | 27 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 8 | Xiaoyao Pai | 15 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 1 | Shaolin Pai | 10 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 2 | Emei Pai | 7 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 3 | QingCheng Pai | 11 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 4 | Wudang Pai | 12 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 5 | Riyue Shenjiao | 31 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 6 | Lianshan Pai | 27 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 7 | Ming Jiao | 27 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 8 | Xiaoyao Pai | 15 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 1 | Shaolin Pai | 10 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 2 | Emei Pai | 7 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 3 | QingCheng Pai | 11 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 4 | Wudang Pai | 12 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 5 | Riyue Shenjiao | 31 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 6 | Lianshan Pai | 27 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 7 | Ming Jiao | 27 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 8 | Xiaoyao Pai | 15 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 1 | Shaolin Pai | 10 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 2 | Emei Pai | 7 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 3 | QingCheng Pai | 11 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 4 | Wudang Pai | 12 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 5 | Riyue Shenjiao | 31 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 6 | Lianshan Pai | 27 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 7 | Ming Jiao | 27 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 8 | Xiaoyao Pai | 15 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 1 | Shaolin Pai | 10 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 2 | Emei Pai | 7 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 3 | QingCheng Pai | 11 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 4 | Wudang Pai | 12 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 5 | Riyue Shenjiao | 31 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 6 | Lianshan Pai | 27 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 7 | Ming Jiao | 27 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 8 | Xiaoyao Pai | 15 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 1 | Shaolin Pai | 10 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 2 | Emei Pai | 7 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 3 | QingCheng Pai | 11 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 4 | Wudang Pai | 12 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 5 | Riyue Shenjiao | 31 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 6 | Lianshan Pai | 27 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 7 | Ming Jiao | 27 |
| 24 | Xu Xian | 27 | M | NULL | NULL | 8 | Xiaoyao Pai | 15 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 1 | Shaolin Pai | 10 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 2 | Emei Pai | 7 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 3 | QingCheng Pai | 11 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 4 | Wudang Pai | 12 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 5 | Riyue Shenjiao | 31 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 6 | Lianshan Pai | 27 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 7 | Ming Jiao | 27 |
| 25 | Sun Dasheng | 100 | M | NULL | NULL | 8 | Xiaoyao Pai | 15 |
+-------+---------------+-----+--------+---------+-----------+---------+----------------+----------+
200 rows in set (0.00 sec)
|
自然连接(内联接): 等值联接:把两张表中的对应字段做等值关联 SELECT * FROM students,classes WHERE students.ClassID =classes.CLassID 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
| mysql> SELECT * FROM students,classes WHERE students.CLASSID = classes.CLASSID;
+-------+---------------+-----+--------+---------+-----------+---------+----------------+----------+
| StuID | Name | Age | Gender | ClassID | TeacherID | ClassID | Class | NumOfStu |
+-------+---------------+-----+--------+---------+-----------+---------+----------------+----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 | 2 | Emei Pai | 7 |
| 2 | Shi Potian | 22 | M | 1 | 7 | 1 | Shaolin Pai | 10 |
| 3 | Xie Yanke | 53 | M | 2 | 16 | 2 | Emei Pai | 7 |
| 4 | Ding Dian | 32 | M | 4 | 4 | 4 | Wudang Pai | 12 |
| 5 | Yu Yutong | 26 | M | 3 | 1 | 3 | QingCheng Pai | 11 |
| 6 | Shi Qing | 46 | M | 5 | NULL | 5 | Riyue Shenjiao | 31 |
| 7 | Xi Ren | 19 | F | 3 | NULL | 3 | QingCheng Pai | 11 |
| 8 | Lin Daiyu | 17 | F | 7 | NULL | 7 | Ming Jiao | 27 |
| 9 | Ren Yingying | 20 | F | 6 | NULL | 6 | Lianshan Pai | 27 |
| 10 | Yue Lingshan | 19 | F | 3 | NULL | 3 | QingCheng Pai | 11 |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL | 6 | Lianshan Pai | 27 |
| 12 | Wen Qingqing | 19 | F | 1 | NULL | 1 | Shaolin Pai | 10 |
| 13 | Tian Boguang | 33 | M | 2 | NULL | 2 | Emei Pai | 7 |
| 14 | Lu Wushuang | 17 | F | 3 | NULL | 3 | QingCheng Pai | 11 |
| 15 | Duan Yu | 19 | M | 4 | NULL | 4 | Wudang Pai | 12 |
| 16 | Xu Zhu | 21 | M | 1 | NULL | 1 | Shaolin Pai | 10 |
| 17 | Lin Chong | 25 | M | 4 | NULL | 4 | Wudang Pai | 12 |
| 18 | Hua Rong | 23 | M | 7 | NULL | 7 | Ming Jiao | 27 |
| 19 | Xue Baochai | 18 | F | 6 | NULL | 6 | Lianshan Pai | 27 |
| 20 | Diao Chan | 19 | F | 7 | NULL | 7 | Ming Jiao | 27 |
| 21 | Huang Yueying | 22 | F | 6 | NULL | 6 | Lianshan Pai | 27 |
| 22 | Xiao Qiao | 20 | F | 1 | NULL | 1 | Shaolin Pai | 10 |
| 23 | Ma Chao | 23 | M | 4 | NULL | 4 | Wudang Pai | 12 |
+-------+---------------+-----+--------+---------+-----------+---------+----------------+----------+
23 rows in set (0.04 sec)
mysql> SELECT students.Name,classes.Class FROM students,classes WHERE students.CLASSID = classes.CLASSID;
+---------------+----------------+
| Name | Class |
+---------------+----------------+
| Shi Zhongyu | Emei Pai |
| Shi Potian | Shaolin Pai |
| Xie Yanke | Emei Pai |
| Ding Dian | Wudang Pai |
| Yu Yutong | QingCheng Pai |
| Shi Qing | Riyue Shenjiao |
| Xi Ren | QingCheng Pai |
| Lin Daiyu | Ming Jiao |
| Ren Yingying | Lianshan Pai |
| Yue Lingshan | QingCheng Pai |
| Yuan Chengzhi | Lianshan Pai |
| Wen Qingqing | Shaolin Pai |
| Tian Boguang | Emei Pai |
| Lu Wushuang | QingCheng Pai |
| Duan Yu | Wudang Pai |
| Xu Zhu | Shaolin Pai |
| Lin Chong | Wudang Pai |
| Hua Rong | Ming Jiao |
| Xue Baochai | Lianshan Pai |
| Diao Chan | Ming Jiao |
| Huang Yueying | Lianshan Pai |
| Xiao Qiao | Shaolin Pai |
| Ma Chao | Wudang Pai |
+---------------+----------------+
23 rows in set (0.00 sec)
|
SELECT * FROM students.name,classes.class WHERE students.ClassID =classes.CLassID(若两张表中的字段名称一样,则指明字段)
别名: 表别名 SELECT students.name,classes.class FROM students AS s,classes AS c WHEREs.CLASSID = c.CLASSID 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
| mysql> SELECT s.Name,c.Class FROM students AS s,classes AS c WHERE s.ClassID = c.ClassID;
+---------------+----------------+
| Name | Class |
+---------------+----------------+
| Shi Zhongyu | Emei Pai |
| Shi Potian | Shaolin Pai |
| Xie Yanke | Emei Pai |
| Ding Dian | Wudang Pai |
| Yu Yutong | QingCheng Pai |
| Shi Qing | Riyue Shenjiao |
| Xi Ren | QingCheng Pai |
| Lin Daiyu | Ming Jiao |
| Ren Yingying | Lianshan Pai |
| Yue Lingshan | QingCheng Pai |
| Yuan Chengzhi | Lianshan Pai |
| Wen Qingqing | Shaolin Pai |
| Tian Boguang | Emei Pai |
| Lu Wushuang | QingCheng Pai |
| Duan Yu | Wudang Pai |
| Xu Zhu | Shaolin Pai |
| Lin Chong | Wudang Pai |
| Hua Rong | Ming Jiao |
| Xue Baochai | Lianshan Pai |
| Diao Chan | Ming Jiao |
| Huang Yueying | Lianshan Pai |
| Xiao Qiao | Shaolin Pai |
| Ma Chao | Wudang Pai |
+---------------+----------------+
23 rows in set (0.00 sec)
|
字段别名 SELECT NAME AS STUNAME FROM students; 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
| mysql> SELECT Name FROM students;
+---------------+
| Name |
+---------------+
| Shi Zhongyu |
| Shi Potian |
| Xie Yanke |
| Ding Dian |
| Yu Yutong |
| Shi Qing |
| Xi Ren |
| Lin Daiyu |
| Ren Yingying |
| Yue Lingshan |
| Yuan Chengzhi |
| Wen Qingqing |
| Tian Boguang |
| Lu Wushuang |
| Duan Yu |
| Xu Zhu |
| Lin Chong |
| Hua Rong |
| Xue Baochai |
| Diao Chan |
| Huang Yueying |
| Xiao Qiao |
| Ma Chao |
| Xu Xian |
| Sun Dasheng |
+---------------+
25 rows in set (0.00 sec)
mysql> SELECT Name As STUName FROM students;
+---------------+
| STUName |
+---------------+
| Shi Zhongyu |
| Shi Potian |
| Xie Yanke |
| Ding Dian |
| Yu Yutong |
| Shi Qing |
| Xi Ren |
| Lin Daiyu |
| Ren Yingying |
| Yue Lingshan |
| Yuan Chengzhi |
| Wen Qingqing |
| Tian Boguang |
| Lu Wushuang |
| Duan Yu |
| Xu Zhu |
| Lin Chong |
| Hua Rong |
| Xue Baochai |
| Diao Chan |
| Huang Yueying |
| Xiao Qiao |
| Ma Chao |
| Xu Xian |
| Sun Dasheng |
+---------------+
25 rows in set (0.00 sec)
|
条件联接(很少使用) 外联结: 左外联结:只保留出现在左外连接运算之前(左边)的关系中的元组; left_tb LEFT JOIN right_tb ON 连接条件 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
| mysql> SELECT s.Name,c.Class FROM students AS s LEFT JOIN classes AS c ON s.ClassID = c.ClassID;
+---------------+----------------+
| Name | Class |
+---------------+----------------+
| Shi Zhongyu | Emei Pai |
| Shi Potian | Shaolin Pai |
| Xie Yanke | Emei Pai |
| Ding Dian | Wudang Pai |
| Yu Yutong | QingCheng Pai |
| Shi Qing | Riyue Shenjiao |
| Xi Ren | QingCheng Pai |
| Lin Daiyu | Ming Jiao |
| Ren Yingying | Lianshan Pai |
| Yue Lingshan | QingCheng Pai |
| Yuan Chengzhi | Lianshan Pai |
| Wen Qingqing | Shaolin Pai |
| Tian Boguang | Emei Pai |
| Lu Wushuang | QingCheng Pai |
| Duan Yu | Wudang Pai |
| Xu Zhu | Shaolin Pai |
| Lin Chong | Wudang Pai |
| Hua Rong | Ming Jiao |
| Xue Baochai | Lianshan Pai |
| Diao Chan | Ming Jiao |
| Huang Yueying | Lianshan Pai |
| Xiao Qiao | Shaolin Pai |
| Ma Chao | Wudang Pai |
| Xu Xian | NULL |
| Sun Dasheng | NULL |
+---------------+----------------+
25 rows in set (0.00 sec)
|
右外联结:只保留出现在右外连接运算之后(右边)的关系中的元组; left_tb RIGHT JOIN right_tb ON 连接条件 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
| mysql> SELECT * FROM students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 |
| 2 | Shi Potian | 22 | M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 9 | Ren Yingying | 20 | F | 6 | NULL |
| 10 | Yue Lingshan | 19 | F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 | F | 1 | NULL |
| 13 | Tian Boguang | 33 | M | 2 | NULL |
| 14 | Lu Wushuang | 17 | F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 19 | Xue Baochai | 18 | F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 | Xu Xian | 27 | M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set (0.06 sec)
mysql> SELECT * FROM classes;
+---------+----------------+----------+
| ClassID | Class | NumOfStu |
+---------+----------------+----------+
| 1 | Shaolin Pai | 10 |
| 2 | Emei Pai | 7 |
| 3 | QingCheng Pai | 11 |
| 4 | Wudang Pai | 12 |
| 5 | Riyue Shenjiao | 31 |
| 6 | Lianshan Pai | 27 |
| 7 | Ming Jiao | 27 |
| 8 | Xiaoyao Pai | 15 |
+---------+----------------+----------+
8 rows in set (0.02 sec)
mysql> SELECT s.Name,c.Class FROM students AS s RIGHT JOIN classes AS c ON s.ClassID = c.ClassID;
+---------------+----------------+
| Name | Class |
+---------------+----------------+
| Shi Potian | Shaolin Pai |
| Wen Qingqing | Shaolin Pai |
| Xu Zhu | Shaolin Pai |
| Xiao Qiao | Shaolin Pai |
| Shi Zhongyu | Emei Pai |
| Xie Yanke | Emei Pai |
| Tian Boguang | Emei Pai |
| Yu Yutong | QingCheng Pai |
| Xi Ren | QingCheng Pai |
| Yue Lingshan | QingCheng Pai |
| Lu Wushuang | QingCheng Pai |
| Ding Dian | Wudang Pai |
| Duan Yu | Wudang Pai |
| Lin Chong | Wudang Pai |
| Ma Chao | Wudang Pai |
| Shi Qing | Riyue Shenjiao |
| Ren Yingying | Lianshan Pai |
| Yuan Chengzhi | Lianshan Pai |
| Xue Baochai | Lianshan Pai |
| Huang Yueying | Lianshan Pai |
| Lin Daiyu | Ming Jiao |
| Hua Rong | Ming Jiao |
| Diao Chan | Ming Jiao |
| NULL | Xiaoyao Pai |
+---------------+----------------+
24 rows in set (0.00 sec)
|
全外联结(mysql不支持):二者左右都出现 练习:导入hellodb.sql,完成以下题目: 1、显示前5位同学的姓名、课程及成绩; 2、显示其成绩高于80的同学的名称及课程; 3、求前8位同学每位同学自己两门课的平均成绩,并按降序排列; 4、显示每门课程课程名称及学习了这门课的同学的个数; 1、 1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
| mysql> SELECT * FROM students;
+-------+---------------+-----+--------+---------+-----------+
| StuID | Name | Age | Gender | ClassID | TeacherID |
+-------+---------------+-----+--------+---------+-----------+
| 1 | Shi Zhongyu | 22 | M | 2 | 3 |
| 2 | Shi Potian | 22 | M | 1 | 7 |
| 3 | Xie Yanke | 53 | M | 2 | 16 |
| 4 | Ding Dian | 32 | M | 4 | 4 |
| 5 | Yu Yutong | 26 | M | 3 | 1 |
| 6 | Shi Qing | 46 | M | 5 | NULL |
| 7 | Xi Ren | 19 | F | 3 | NULL |
| 8 | Lin Daiyu | 17 | F | 7 | NULL |
| 9 | Ren Yingying | 20 | F | 6 | NULL |
| 10 | Yue Lingshan | 19 | F | 3 | NULL |
| 11 | Yuan Chengzhi | 23 | M | 6 | NULL |
| 12 | Wen Qingqing | 19 | F | 1 | NULL |
| 13 | Tian Boguang | 33 | M | 2 | NULL |
| 14 | Lu Wushuang | 17 | F | 3 | NULL |
| 15 | Duan Yu | 19 | M | 4 | NULL |
| 16 | Xu Zhu | 21 | M | 1 | NULL |
| 17 | Lin Chong | 25 | M | 4 | NULL |
| 18 | Hua Rong | 23 | M | 7 | NULL |
| 19 | Xue Baochai | 18 | F | 6 | NULL |
| 20 | Diao Chan | 19 | F | 7 | NULL |
| 21 | Huang Yueying | 22 | F | 6 | NULL |
| 22 | Xiao Qiao | 20 | F | 1 | NULL |
| 23 | Ma Chao | 23 | M | 4 | NULL |
| 24 | Xu Xian | 27 | M | NULL | NULL |
| 25 | Sun Dasheng | 100 | M | NULL | NULL |
+-------+---------------+-----+--------+---------+-----------+
25 rows in set (0.00 sec)
mysql> SELECT * FROM courses;
+----------+----------------+
| CourseID | Course |
+----------+----------------+
| 1 | Hamo Gong |
| 2 | Kuihua Baodian |
| 3 | Jinshe Jianfa |
| 4 | Taiji Quan |
| 5 | Daiyu Zanghua |
| 6 | Weituo Zhang |
| 7 | Dagou Bangfa |
+----------+----------------+
7 rows in set (0.05 sec)
mysql> SELECT * FROM coc;
+----+---------+----------+
| ID | ClassID | CourseID |
+----+---------+----------+
| 1 | 1 | 2 |
| 2 | 1 | 5 |
| 3 | 2 | 2 |
| 4 | 2 | 6 |
| 5 | 3 | 1 |
| 6 | 3 | 7 |
| 7 | 4 | 5 |
| 8 | 4 | 2 |
| 9 | 5 | 1 |
| 10 | 5 | 9 |
| 11 | 6 | 3 |
| 12 | 6 | 4 |
| 13 | 7 | 4 |
| 14 | 7 | 3 |
+----+---------+----------+
14 rows in set (0.10 sec)
mysql> SELECT * FROM scores;
+----+-------+----------+-------+
| ID | StuID | CourseID | Score |
+----+-------+----------+-------+
| 1 | 1 | 2 | 77 |
| 2 | 1 | 6 | 93 |
| 3 | 2 | 2 | 47 |
| 4 | 2 | 5 | 97 |
| 5 | 3 | 2 | 88 |
| 6 | 3 | 6 | 75 |
| 7 | 4 | 5 | 71 |
| 8 | 4 | 2 | 89 |
| 9 | 5 | 1 | 39 |
| 10 | 5 | 7 | 63 |
| 11 | 6 | 1 | 96 |
| 12 | 7 | 1 | 86 |
| 13 | 7 | 7 | 83 |
| 14 | 8 | 4 | 57 |
| 15 | 8 | 3 | 93 |
+----+-------+----------+-------+
15 rows in set (0.05 sec)
mysql> SELECT Name,Course,Score FROM students AS s,courses AS c,coc,scores AS ss WHERE s.ClassID = coc.ClassID && coc.CourseID = c.CourseID && s.StuID <= 5 && s.StuID = ss.StuID && coc.CourseID = ss.CourseID;
+-------------+----------------+-------+
| Name | Course | Score |
+-------------+----------------+-------+
| Shi Zhongyu | Kuihua Baodian | 77 |
| Shi Zhongyu | Weituo Zhang | 93 |
| Shi Potian | Kuihua Baodian | 47 |
| Shi Potian | Daiyu Zanghua | 97 |
| Xie Yanke | Kuihua Baodian | 88 |
| Xie Yanke | Weituo Zhang | 75 |
| Ding Dian | Daiyu Zanghua | 71 |
| Ding Dian | Kuihua Baodian | 89 |
| Yu Yutong | Hamo Gong | 39 |
| Yu Yutong | Dagou Bangfa | 63 |
+-------------+----------------+-------+
10 rows in set (0.03 sec)
2/3
mysql> SELECT Name,AVG(Score) FROM students AS s,courses AS c,coc,scores AS ss WHERE s.ClassID = coc.ClassID && coc.CourseID = c.CourseID && s.StuID <= 8 && s.StuID = ss.StuID && coc.CourseID = ss.CourseID GROUP BY Name ORDER BY AVG(Score) DESC;
+-------------+------------+
| Name | AVG(Score) |
+-------------+------------+
| Shi Qing | 96.0000 |
| Shi Zhongyu | 85.0000 |
| Xi Ren | 84.5000 |
| Xie Yanke | 81.5000 |
| Ding Dian | 80.0000 |
| Lin Daiyu | 75.0000 |
| Shi Potian | 72.0000 |
| Yu Yutong | 51.0000 |
+-------------+------------+
8 rows in set (0.01 sec)
|
|