关于exists 的问题 查询比“通信工程1”专业所有学生年龄都小的学生姓名及年龄
use XSCJ
select 姓名,年龄=datediff(year,出生时间,getDate())
from XS X
where not EXISTS(
SELECT *
FROM XS Y
WHERE Y.专业名='信息工程' AND X.出生时间<Y.出生时间
)and X.专业名='计算机'
与
use XSCJ
select 姓名,年龄=datediff(year,出生时间,getDate())
from XS X
where not EXISTS(
SELECT *
FROM XS Y
WHERE Y.专业名='信息工程' AND X.出生时间<Y.出生时间 and X.专业名='计算机'
)
有什么不同?
后一个吧计算机专业的都列出来了 前一个正确。
xs:姓名 专业名 性别 出生日期 总学分 备注