SQL新手在这里,只是学习如何做一些基础知识。在SQLite中工作,如果我有一系列条件,我可以使用IN
搜索任何匹配项,如下所示:
SELECT * FROM people WHERE job_id IN (1,2,3)
在这个人为的例子中,这会给我任何工作ID为1,2或3的人。但是,在不同的情况下,我怎么能让这个条件成为ALL? IE浏览器。选择job_id
匹配数组中所有字词的人?
我认为在某些dbs中你可以这样做:
SELECT * FROM people WHERE job_id IN ALL (1,2,3)
但是当我在SQLite中尝试这个时,我得到syntax error near ALL
。那么,你如何在SQLite中做到这一点,而且,对于奖励积分,有没有办法编写这种与PostgreSQL兼容的查询?
答案 0 :(得分:1)
SELECT columName -- fetch only single column
FROM people
WHERE job_id IN (1,2,3)
GROUP BY job_id
HAVING COUNT(*) = 3
GROUP BY
和HAVING
后面的是按job_id