当前位置:   article > 正文

10-5 查询年龄18-20之间的学生信息_本题目要求编写sql语句, 检索出 stu表中年龄在18-20之间的学生记录。 注意: 计算

本题目要求编写sql语句, 检索出 stu表中年龄在18-20之间的学生记录。 注意: 计算

本题目要求编写SQL语句
检索出 stu表中年龄在18-20之间的学生记录。

注意: 计算年龄时以年计算,不考虑出生月份。假定当前日期为‘2020-03-01'。

表结构:

请在这里写定义表结构的SQL语句。例如:

  1. CREATE TABLE `stu` (
  2. `sno` char(4) NOT NULL,
  3. `sname` char(8) NOT NULL,
  4. `sex` tinyint(1) DEFAULT NULL,
  5. `mno` char(2) DEFAULT NULL,
  6. `birdate` datetime DEFAULT NULL,
  7. `memo` text,
  8. PRIMARY KEY (`sno`)
  9. );

表样例

请在这里给出上述表结构对应的表样例。例如

stu表:

stu.JPG

输出样例:

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

l25.JPG

 我的答案:

  1. select distinct sno as ‘学号’,
  2. sname as ‘姓名’ ,
  3. sex as ‘性别’,
  4. mno as ‘专业’ ,
  5. YEAR('2020-03-01') - YEAR(birdate) as ‘年龄’,
  6. memo as ‘备注’
  7. from stu
  8. where YEAR('2020-03-01') - YEAR(birdate) between 18 and 20
  9. order by sno asc;

 总结:

本题目要求从名为"stu"的数据库表中选择特定学生记录,并计算学生的年龄,然后按学号升序排列。这题我写的方法有几个要点:

1.DISTINCT关键字是用来确保结果中不包含重复的行。

2.如何计算年龄?

YEAR('2020-03-01') - YEAR(birdate) as ‘年龄’这里通过当前日期('2020-03-01')减去出生日期("birdate"列)的年份差。

3.WHERE子句,用于筛选出符合特定条件的记录。注意,这里是筛选单行,如果筛选多行,要用having子句

4.ORDER BY sno ASC,按照学号升序排,若要用降序ORDER BY sno DESC

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/article/detail/40127
推荐阅读
相关标签
  

闽ICP备14008679号