您的位置:首页 > 数据库 > MySQL

mysql多表查询、子查询

2015-06-05 10:25 585 查看


联接查询:事先将两张或多张表联接(join),根据join的结果进行查询; cross join:交叉联接(效率极低,不常用) (a+b)*(c+d)=ac+ad+bc+bd 结果四行 SELECT * FROM students,classed;
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
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
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;
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 连接条件
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 连接条件
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、
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)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  mysql