首页 > 解决方案 > 有或没有 where 条件的查询结果相同

问题描述

我正在为此编写 sql 查询列出所有在犯罪 ID 10089问题陈述中涉及任何犯罪代码指控的犯罪分子的姓名,但无论有无 where 条件,我的结果都是相同的

select * 
from criminals c 
join crimes cms
on c.criminal_id = cms.criminal_id
join crime_charges cc on cc.crime_id=cms.crime_id
order by c.first, c.last;
where (cc.fine_amount is not null) and (cc.crime_id==10089);

标签: sql

解决方案


在 order by 之前使用 where 条件并删除分号,因为它表示查询结束,因此 where 条件被视为单独的查询。

select * 
from criminals c 
join crimes cms
on c.criminal_id = cms.criminal_id
join crime_charges cc on cc.crime_id=cms.crime_id
where (cc.fine_amount is not null) and (cc.crime_id=10089)
order by c.first, c.last;

推荐阅读