本题目要求编写SQL语句,
检索出 stu
表中‘计算机工程’或‘软件工程’专业的学生的记录,结果集按学号升序排序。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE `major` (
`mno` char(2) NOT NULL,
`mname` varchar(20) NOT NULL,
PRIMARY KEY (`mno`)
);
CREATE TABLE `stu` (
`sno` char(4) NOT NULL,
`sname` char(8) NOT NULL,
`sex` tinyint(1) DEFAULT NULL,
`mno` char(2) DEFAULT NULL,
`birdate` datetime DEFAULT NULL,
`memo` text,
PRIMARY KEY (`SNO`),
CONSTRAINT fk_stu_mno FOREIGN KEY (mno) REFERENCES major (mno)
);
表样例
请在这里给出上述表结构对应的表样例。例如
stu
表:
major
表:
输出样例:
请在这里给出输出样例。例如:
答案:
SELECT stu.sno AS 学号, stu.sname AS 姓名, stu.sex AS 性别, major.mname AS 专业
FROM stu
JOIN major ON major.mno = stu.mno
WHERE major.mname = '计算机工程' OR major.mname = '软件工程'
ORDER BY stu.sno ASC;
JOIN major ON major.mno = stu.mno:这段语句表示将 stu 表和 major 表进行连接查询。连接条件是 stu 表中的 mno 列与 major 表中的 mno 列相等。
WHERE major.mname = '计算机工程' OR major.mname = '软件工程':这段语句指定了查询的条件,即筛选出专业为"计算机工程"或"软件工程"的记录。
ORDER BY stu.sno ASC:这段语句指定了对结果进行排序,按照学号(sno)升序排序。
结果: