本题目要求编写SQL语句,
检索出 stu
表中年龄在18-20之间的学生记录。
注意: 计算年龄时以年计算,不考虑出生月份。假定当前日期为‘2020-03-01'。
提示:MSSQLServer 评测SQL语句。
表结构:
请在这里写定义表结构的SQL语句。例如:
CREATE TABLE stu(
sno char(4) NOT NULL,
sname char(8) NOT NULL,
sex smallint DEFAULT NULL,
mno char(2) DEFAULT NULL,
birdate datetime DEFAULT NULL,
memo text,
PRIMARY KEY (sno)
);
表样例
请在这里给出上述表结构对应的表样例。例如
stu
表:
输出样例:
请在这里给出输出样例。例如:
思路:
1. 从stu表中选择sno字段,并将其重命名为学号。
2. 从stu表中选择sname字段,并将其重命名为姓名。
3. 从stu表中选择sex字段,并将其重命名为性别。
4. 从stu表中选择mno字段,并将其重命名为专业。
5. 使用2020-year(birdate)计算出出生日期对应的年龄,并将其重命名为年龄。
6. 从stu表中选择memo字段,并将其重命名为备注。
7. 使用WHERE子句筛选出年龄在18到20之间的记录。
8. 最终的查询结果将返回满足条件的学号、姓名、性别、专业、年龄和备注。
select sno as 学号,sname as 姓名,sex as 性别,mno as 专业,2020-year(birdate) as 年龄,memo as 备注 from stu
where 2020-year(birdate)>=18 and 2020-year(birdate)<=20;