日期:2014-05-17  浏览次数:20518 次

一个小问题,高手勿喷
新手,刚开始学习数据库
学习数据查询的时候遇到一个小问题,其实也算不上问题,就是一个小疑问
题目是这样的从student表中查询计算机系的同学的名字和性别
有两个方法
一个使用关系的比较运算符,如下所示
SELECT Sname Ssex
FROM Student
WHERE Sdept='cs';
或者是用谓词IN来确定所属的集合
SELECT Sname Ssex
FROM Student
WHERE Sdept IN ('cs');
这两种方法有什么区别吗?

------解决方案--------------------
Sdept in (cs,a,b,c)等价于Sdept=CS OR Sdept=A OR Sdept=B OR Sdept=C。

其实就是把存在的都取出来。比如cs,a,b,c里面C是没有数据的,那么or就不影响其他,如果用and,就一条数据都没有。