首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何使用"OR“运算符检索数据

如何使用"OR“运算符检索数据
EN

Stack Overflow用户
提问于 2013-05-20 15:58:15
回答 1查看 38关注 0票数 0

假设我想知道某一地区的人(districtID=5)是否上过A级课程(cID=11或cID=12),但没有,因为他们的同名为,有不同的cID,那么如何用SQL以及他们的FirstName、LastName和电子邮件来写这篇文章呢?你能帮忙吗?以下是字段:

1               Esther         B                b@hotmail.com      33

2               Tommy        L                 l@hotmail.com       55

注册-注册

22

23

部门性、无偿性、无偿性、专门性、区域性

40

41

学校 专区

33

55

我下面的密码不起作用。它一直给我行。

代码语言:javascript
运行
复制
SELECT p.FirstName, p.LastName, p.Email, s.CourseIDNum
  FROM People p, Registration r, Section s, School sc
 WHERE p.PeopleID=r.PeopleIDNum AND r.SectionIDNum=s.SectionID AND
       (s.CourseIDNum=11 OR s.CourseIDNum=12) AND sc.SchoolID=p.SchoolIDNum AND
       s.DistrictIDNum=5 AND r.Completed='Y'
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-05-20 16:04:58

如果可以的话,我尽量避免旧式联接,这样where子句只包含实际的子句,而不是联接和子句的混合。

代码语言:javascript
运行
复制
SELECT p.FirstName, p.LastName, p.Email, s.CourseIDNum
FROM People p
INNER JOIN Registration r
 on p.PeopleID = r.PeopleIdNum
INNER JOIN Section s
 on r.SectionIDNum = s.SectionID
INNER JOIN School sc
 on p.SchoolIDNum = sc.SchoolID
WHERE (s.CourseIDNum=11 AND s.CourseIDNum!=12)
  OR (s.CourseIDNum!=11 AND s.CourseIDNum=12)

但是,如果您查看数据,连接不可能同时进行,因为对于这两个人,SecionID始终是40。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/16653480

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档