我有这样的疑问:
SELECT e.firstname, e.surname
FROM employees e, cities c
WHERE e.cityid = c.id
UNION
SELECT e.firstname, e.surname
FROM employees e, cities c
WHERE e.cityid = ''
UNION
SELECT e.firstname, e.surname
FROM employees e, cities c
WHERE e.cityid is null
它工作得很好,但我不喜欢我必须重复自己几次(3次,由2个工会分开)。
因此,我尝试像这样编写查询:
SELECT e.firstname, e.surname
FROM employees e, cities c
WHERE (e.cityid = c.id OR e.cityid = '' OR e.cityid is null)
它也可以很好地工作,但与第一次使用工会的查询相比,它非常慢。
那么是否可以用另一种方式编写查询,所以我得到了第一个查询的性能而无需重复自己几次。
谢谢。