SQL ile birden fazla tablodan seçim yapma
Bu dersimizde SQL'de alrken tablolarn birbirine nasl eklenerek bilgi alabileceimizi greceiz. Elimizde bir okulun renci bilgilerinin bulunduu bir veritaban olduunu dnelim. Veritabanmzdaki ""renciler"" adndaki tabloda sras ile ""ogrencino"", ""isim"",""soyisim"",""ogretmen"" eklinde alanlar(fields) bulunduunu farzedelim. ""retmenler"" adndaki baka bir tabloda ise ""ogretmenid"" , ""isim"" , ""soyisim"" eklinde alanlarn bulunduunu dnelim. renciler adndaki tablodaki ""ogrenciogretmen"" alanndaki deerler say ile belirtilsin ve bu saylar ""retmenler"" tablsundaki ogretmenid numarasna gnderme yapsn. Bildik SQL yntemleri ile her bir rencinin adn , soyadn ve retmenin adn soyadn yazmak iin yle bir kod gerekecekti. Aadaki rnekte renciler tablosu ""ogr"" , retmenler tablosu ""ogret"" olarak ifade edilmitir.
<%
sql=""Select*from ogr order by ogrencisim""
Set rs=conn.execute(sql)
While Not rs.eof
tempogr=rs(""ogrenciogretmen"")
sql2=""Select*from ogret where ogretmenid=tempogr""
Set rs2=conn.execute(sql2)
%>
<%=rs(""ogrenciisim"")%> <%=rs(""ogrencisoyisim"")%> , retmeni <%=rs2(""ogretmenisim"")%> <%=rs2(""ogretmensoyisim"")%>
<%
rs.movenext
Wend
%>
Oysa SQL'de fazlaca kullanlmayan bir kullanm zellii sayesinde u kod benzeri bir kod ile ayn anda birden fazla tablodan bilgi aktarabilirsiniz.
<%
sql=""Select ogr.isim,ogr.soyisim,ogret.isim,ogret.soyisim from ogr,ogret where ogr.ogrencino=ogret.ogretmenid""
Set rs=conn.execute(sql)
While Not rs.eof %>
<%=rs(""ogr.isim"")%> <%=rs(""ogr.soyisim"")%> , retmen <%=rs(""ogretmen.isim"")%> <%=rs(""ogretmen.soyisim"")%>
<%
rs.movenext
Wend
%>
"![]()