欧美一区二区三区,国内熟女精品熟女A片视频小说,日本av网,小鲜肉男男GAY做受XXX网站

mysql關聯同一張表

傅智翔2年前8瀏覽0評論

在MySQL中,我們常常會需要關聯同一張表,來得到更加詳細的查詢結果。例如,我們有一個學生表,其中有以下信息:

+----+------------+-------+--------+
| id | name       | grade | mentor |
+----+------------+-------+--------+
| 1  | Alice     | 1     | NULL   |
| 2  | Bob        | 2     | NULL   |
| 3  | Charlie   | 1     | 1       |
| 4  | David     | 2     | 2       |
| 5  | Emily     | 1     | 1       |
+----+------------+-------+--------+

我們可以根據mentor字段來關聯同一張表,得到每個學生對應的導師信息(如果有的話)。SQL語句如下:

SELECT s.name AS student_name, m.name AS mentor_name
FROM student s
LEFT JOIN student m ON s.mentor = m.id

代碼解析:

SELECTs.name AS student_name, m.name AS mentor_name:選取學生表和導師表中的姓名列,并別名為student_name和mentor_name。

FROMstudent s:從學生表中選取數據,并別名為s。

LEFT JOINstudent m ON s.mentor = m.id:把學生表和導師表關聯起來,通過學生表中的mentor字段和導師表中的id字段進行連接。這里使用了LEFT JOIN,因為有些學生沒有對應的導師,使用INNER JOIN會丟失這些學生的信息。

運行代碼后,得到以下結果:

+--------------+-------------+
| student_name | mentor_name |
+--------------+-------------+
| Alice         | NULL        |
| Bob           | NULL        |
| Charlie       | Alice       |
| David        | Bob          |
| Emily         | Alice       |
+--------------+-------------+

可以看到,這些學生的導師信息已經被正確地關聯查詢出來了。