• ベストアンサー

親子関係があるテーブル内での検索

親のidを保持するテーブルです。 CREATE TABLE `tbl` ( `id` int PRIMARY KEY, `parent_id` int, FOREIGN KEY(`parent_id`) REFERENCES `tbl`(`id`) ) ENGINE=InnoDB; このテーブルで「parent_idがNULLで、かつ、子を持たない(親というか子でもないというか)行」 を検索したいのですが、どのようなSQLを記述すれば良いのでしょうか?

質問者が選んだベストアンサー

  • ベストアンサー
  • nora1962
  • ベストアンサー率60% (431/717)
回答No.1

select * from `tbl` where `parent_id` is null and not exists ( select 1 from `tbl` t2 where `tbl`.id = t2.`parent_id` )

takagoo100
質問者

お礼

ご回答ありがとうございます。 なるほど、そのやり方でできました。 ありがとうございます。

関連するQ&A