色婷婷狠狠18禁久久YY,CHINESE性内射高清国产,国产女人18毛片水真多1,国产AV在线观看

mysql左聯(lián)接一對(duì)多

在mysql中,左聯(lián)接是一種常見(jiàn)的關(guān)聯(lián)查詢,它主要用于查詢兩張表之間存在一對(duì)多關(guān)系的數(shù)據(jù)。左聯(lián)接的語(yǔ)法如下:

SELECT 
a.column1, 
b.column2 
FROM 
table1 AS a 
LEFT JOIN 
table2 AS b 
ON 
a.common_column = b.common_column;

其中,table1和table2為待關(guān)聯(lián)的兩張表,common_column是它們之間的共同列。

左聯(lián)接查詢的結(jié)果集包含兩張表中的所有數(shù)據(jù),如果某個(gè)數(shù)據(jù)在table1中有但table2中沒(méi)有,它在結(jié)果集中的對(duì)應(yīng)列則顯示NULL。例如,假設(shè)我們有以下兩張表:

CREATE TABLE `students` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`name` VARCHAR(50) NOT NULL,
`age` INT(3) NOT NULL,
`gender` VARCHAR(10) NOT NULL
) ENGINE=InnoDB CHARSET=utf8mb4;
CREATE TABLE `courses` (
`id` INT(11) NOT NULL AUTO_INCREMENT PRIMARY KEY,
`course_name` VARCHAR(50) NOT NULL,
`student_id` INT NOT NULL,
CONSTRAINT `fk_student_id` FOREIGN KEY (`student_id`) REFERENCES `students`(`id`)
) ENGINE=InnoDB CHARSET=utf8mb4;

其中,students表記錄了學(xué)生的基本信息,courses表記錄了學(xué)生選修的課程,由于一個(gè)學(xué)生可以選修多門(mén)課程,因此courses表與students表之間存在一對(duì)多的關(guān)聯(lián)關(guān)系。

現(xiàn)在我們要查詢所有學(xué)生及其所選課程的信息,可以使用以下SQL語(yǔ)句:

SELECT 
s.name, 
c.course_name 
FROM 
students AS s 
LEFT JOIN 
courses AS c 
ON 
s.id = c.student_id;

執(zhí)行以上查詢語(yǔ)句,可以得到以下結(jié)果:

+--------+------------------+
| name   | course_name      |
+--------+------------------+
| Alice  | Math             |
| Alice  | English          |
| Bob    | Science          |
| Bob    | History          |
| Bob    | Literature       |
| Cindy  | Math             |
| Cindy  | Science          |
+--------+------------------+

可以看到,結(jié)果集中包含了所有學(xué)生的信息,以及每個(gè)學(xué)生所選的所有課程。如果某個(gè)學(xué)生沒(méi)有選課,它在結(jié)果集中的對(duì)應(yīng)列則顯示NULL。

總之,左聯(lián)接是一種非常有用的關(guān)聯(lián)查詢方式,在查詢兩張表之間存在一對(duì)多關(guān)系的數(shù)據(jù)時(shí)特別實(shí)用。