پرس و جوهای SELECT تودرتو در SQL زمانی استفاده می شوند که هدف تعیین شرط دستور select بر اساس ستون هایی در جدول دیگری باشد. در ادامه مثال هایی از سلکت های تو در تو ارائه شده است.
هر چند برای نوشتن محدودیت ها برا اساس جدول دیگر می تواند با استفاده از الحاق جداول پیاده سازی وشد ، بیشتر اوقات بجای الحاق از select های تودرتو استفاده می شود که باعث خوانایی بیشتر دستور و نیز افزایش سرعت اجرای آن می شود.
مثال های این بخش بر اساس جداول بخش های قبلی نوشته شده اند.
مثال ۱- لیست دروس انتخاب شده توسط ali را نمایش دهید.
Select sabtnam.*
From sabtnam , studs
Where sabtnam .id = studs.id and studs . name= ‘ali’;
برای نوشتن پرس وجویی معدل فوق می توانیم بنویسیم:
select *
from sabtnam
where id in (
select id
from studs
where name = ‘ali’ ) )
مثال ۲- کد و عنوان دروس انتخاب شده توسط دانشجویان کامپیوتر باکد ۲ را نمایش دهید.
select code, title
from course
where code in (select code
from sabtnam
where id in (select id
from studs
where Fid = 2)) ;
خروجی :
title code DB ۱۰ Web ۱۱