判断条件的SQL 语句怎么写?

一个表A:UserIDUserNameDepID另外一个表B:DepIDDepName------------------------------------------... 一个表A:
UserID UserName DepID
另外一个表B:
DepID DepName
------------------------------------------------
现在想做一个查询,查询的结果是这个样子:
UserID UserName 部门是否存在
--------------------------------------------------
条件:查询人员表A,人员表a里,有个字段DepID,如果人员的DepID能在B表里找到对应的记录,那么显示存在,否则,不存在。
请问这样的SQL怎么写?
展开
 我来答
轻烟谈生活
高粉答主

2019-07-12 · 轻烟和你聊聊生活中的有趣事
轻烟谈生活
采纳数:7 获赞数:116660

向TA提问 私信TA
展开全部

1、首先我们打开SQL Server Management Studio管理工具,点击【新建查询】,新增一个书写sql语句的窗口。

2、在上一步打开的sql语句输入窗口,定义一个整数类型的变量,设置初始值等于10。

3、使用if条件语句,判断上面的临时变量是否等于10,如果等于就输出一行文字。

4、当上面的sql语句写完之后,点击顶部菜单的【执行】,就能运行当前窗口的sql语句了,此时可以看到下方输出了一行文字,刚好与if条件语句内部的内容一致,说明这个if条件判断成立。

5、这个时候就可以使用else语句。例如,判断变量是否等于5,不管是否等于都输出一句话。从运行结果可以看出,最终输出的是else下面的内容。

6、上面的sql语句,内容判断其实很简单,但是,语句看起来有点繁琐。那么,当if、else判断成立后,各自只有一条sql语句执行的时候,就可以省略begin-end。

7、如果条件判断不止两个结果,比如有三个结果,就可以使用[if]-[else if]-[else]的结构,假设还有4个结果,就在中间继续添加else if即可。

Raiuy
推荐于2017-09-29 · TA获得超过2916个赞
知道大有可为答主
回答量:2210
采纳率:0%
帮助的人:893万
展开全部
SELECT A.UserID, A.UserName, CASE WHEN B.DepName IS NULL ‘不存在' ELSE '存在' END AS 部门是否存在 FROM A LEFT OUTER JOIN B ON A.DepID = B.DepID
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wylxl99
2011-11-30 · TA获得超过364个赞
知道小有建树答主
回答量:264
采纳率:0%
帮助的人:121万
展开全部
SELECT A.UserID, A.UserName, decode(b.deptid,null,'否','是')is_exist
FROM A LEFT OUTER JOIN B ON A.DepID = B.DepID
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
王海超521
2011-11-30 · TA获得超过852个赞
知道小有建树答主
回答量:406
采纳率:0%
帮助的人:381万
展开全部
SELECT A.UserID, A.UserName,
DECODE(NVL(B.DepID,0),0, ‘不存在', '存在' ) AS 部门是否存在
FROM A, B
WHERE A.DepID = B.DepID(+)
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
大神神风
2011-11-30 · TA获得超过227个赞
知道小有建树答主
回答量:333
采纳率:0%
帮助的人:260万
展开全部
select a.userid,a.username,b.depid from userinfo a left join dept b on a.depid=b.depid
查询出来根据b.depid是否为null来判断是否存在...
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式