HKGalden科技臺
發表文章發起投票
[SQL] SELECT COUNT(*)
http://blog.jooq.org/2014/08/08/sql-tip-of-the-day-be-wary-of-select-count/

As you can see, the EXISTS predicate could be aborted early, as soon as the first record that matches the predicate is encountered – in this case immediately.


如果想睇下某條Record(s)存唔存在的話,條SQL可能會咁寫:


SELECT CASE WHEN COUNT(*) > 0 THEN TRUE
ELSE FALSE
END
FROM table_name
WHERE id = 123;


但係其實可以利用EXISTS呢個Keyword:


SELECT CASE WHEN EXISTS (
  SELECT 1
  FROM table_name
  WHERE id = 123
) THEN TRUE
ELSE FALSE
END;
Good2Bad1
2014/08/09, 12:47:16 凌晨
本貼文共有 0 個回覆
此貼文已鎖,將不接受回覆
發表文章發起投票