【PTA】查询部分专业的学生

本题目要求编写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表:

stu.JPG

major表:

major.JPG

输出样例:

请在这里给出输出样例。例如:

l27.JPG

 答案:

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)升序排序。

结果:

 

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值