在MySQL中,我們可以使用SELECT語句來查詢每個專業的學生。首先,我們需要建立兩張表,一張是專業表,包含專業id和專業名稱兩個字段;另一張是學生表,包含學生id、學生姓名、所屬專業id三個字段。表結構如下:
專業表:
CREATE TABLE major (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
PRIMARY KEY (id)
);
學生表:
CREATE TABLE student (
id INT NOT NULL AUTO_INCREMENT,
name VARCHAR(50) NOT NULL,
major_id INT NOT NULL,
PRIMARY KEY (id),
FOREIGN KEY (major_id) REFERENCES major (id)
);
接著,我們向兩張表中插入一些測試數據:
INSERT INTO major (name) VALUES ('計算機科學與技術');
INSERT INTO major (name) VALUES ('軟件工程');
INSERT INTO major (name) VALUES ('網絡工程');
INSERT INTO student (name, major_id) VALUES ('張三', 1);
INSERT INTO student (name, major_id) VALUES ('李四', 1);
INSERT INTO student (name, major_id) VALUES ('王五', 2);
INSERT INTO student (name, major_id) VALUES ('趙六', 3);
INSERT INTO student (name, major_id) VALUES ('錢七', 3);
現在,我們可以使用SELECT語句查詢每個專業的學生了。代碼如下:
SELECT major.name AS 專業名稱, COUNT(student.id) AS 學生人數 FROM major LEFT JOIN student ON major.id = student.major_id GROUP BY major.id;這個SELECT語句使用了LEFT JOIN,將專業表和學生表按照專業id關聯起來,然后使用GROUP BY語句按照專業id分組,最后統計每個專業的學生人數。結果如下:
專業名稱 學生人數
計算機科學與技術 2
軟件工程 1
網絡工程 2
以上就是用MySQL將每個專業的學生按照人數查詢出來的方法。需要注意的是,在實際開發過程中,表結構和數據可能更加復雜,需要根據具體情況進行調整。