Rumah > Soal Jawab > teks badan
P粉3107540942023-08-22 13:21:55
Anda boleh menggunakan in()
:
select * from table where id in (多行查询)
Atau gunakan pautan:
select distinct t.* from source_of_id_table s join table t on t.id = s.t_id where <source_of_id_table的条件>
Sambungan bukanlah pilihan yang lebih teruk dari segi prestasi, dan bergantung pada situasi dan pangkalan data yang anda gunakan, mungkin memberikan prestasi yang lebih baik.
P粉3863180862023-08-22 09:08:13
=
boleh digunakan apabila subkueri hanya mengembalikan satu nilai.
Apabila subkueri mengembalikan berbilang nilai, anda perlu menggunakan IN
:
select * from table where id IN (multiple row query);
Contohnya:
SELECT * FROM Students WHERE Marks = (SELECT MAX(Marks) FROM Students) --子查询只返回一个值 SELECT * FROM Students WHERE Marks IN (SELECT Marks FROM Students ORDER BY Marks DESC LIMIT 10) --子查询返回10个值