在MySQL數(shù)據(jù)庫中,我們經(jīng)常需要對兩個(gè)或多個(gè)表進(jìn)行拼接查詢來獲取更全面的信息,現(xiàn)在我們來看一下如何實(shí)現(xiàn)。
假設(shè)我們有兩個(gè)表,分別為“學(xué)生信息表”(students)和“成績信息表”(scores),其中“學(xué)生信息表”中包含了學(xué)生的個(gè)人信息,如學(xué)號、姓名、性別等信息,而“成績信息表”中則包含了學(xué)生的考試成績,如語文、數(shù)學(xué)、英語等科目的成績。
-- 建立“學(xué)生信息表” CREATE TABLE students( stu_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, stu_name varchar(32) DEFAULT NULL, stu_gender char(4) DEFAULT NULL, stu_age int(11) DEFAULT NULL ); -- 建立“成績信息表” CREATE TABLE scores( score_id int(11) NOT NULL AUTO_INCREMENT PRIMARY KEY, stu_id int(11) DEFAULT NULL, chinese int(11) DEFAULT NULL, math int(11) DEFAULT NULL, english int(11) DEFAULT NULL, FOREIGN KEY (stu_id) REFERENCES students(stu_id) );
現(xiàn)在我們需要查詢所有學(xué)生的姓名、性別、年齡以及各科的成績信息,可以通過使用JOIN操作將兩個(gè)表拼接在一起,查詢語句如下:
SELECT students.stu_name, students.stu_gender, students.stu_age, scores.chinese, scores.math, scores.english FROM students JOIN scores ON students.stu_id = scores.stu_id;
上述查詢語句中,使用了JOIN操作來拼接“學(xué)生信息表”和“成績信息表”,并且指定了拼接條件為“學(xué)生信息表”中的stu_id列與“成績信息表”中的stu_id列相等。
使用以上查詢語句,我們就可以查詢到所有學(xué)生的個(gè)人信息和各科成績信息了。