用SQL语句检索出年龄大于等于18小于等于20的学生姓名和性别

设有学生关系S(Sno, Sname, Sage, Sex),它们的属性分别是:学号,姓名,年龄,性别。试用SQL语句检索出年龄大于等于18小于等于20的学生姓名和性别。

1、首先,在SC表中找到学了C2的学生学号。

2、然后,就可以设置投影列和数据源。

3、此时,就可以在这里进行两层关系的连接。

4、这个时候可以利用【=Any】的方式进行判断是否在这个集合之中。

5、最后【=Any】和【In】两个的用法其实基本相同,只要有一个满足就是满足。

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2018-02-26

使用函数:Between 、Getdate()、datediff()

函数说明:

1/Between:检索数字类型或时间类型的区间记录

2/Getdate():获得当前计算机时间

3/datediff():计算两个时间之间的差值,可以计算年、月、日、时、分、秒、毫秒等

其他说明:SQL在检索区间数据时可以使用大于等于,小于等于,或Between函数

示例:(假设表名:table,出生日期 列名:col)多数都是存储的出生日期,很少直接存储年龄的

--第1种方法:
select * from table where datediff(yyyy,col,getdate()) between 18 and 20
--第2种方法:
select * from table where datediff(yyyy,col,getdate())>=18 and datediff(yyyy,col,getdate())<=20

本回答被网友采纳
第2个回答  推荐于2017-11-26
select Sname,Sex from S where Sage between 18 and 20本回答被提问者采纳
第3个回答  2009-01-06
select sname,sex from s where sage>=18 and sage<=20
相似回答