sugibiask


 

ANA SAYFA - DERSLER - SCRiPTLER - FORUM - İNDİRİM KUPONU - EN COK iNDiRiLENLER - İLETİŞİM - REKLAM

 

   ÜYE GİRİŞİ
  Kullanıcı Adı :
  Şifre :

  Beni Hatırla:
     

   EN SON 3 YENİLİK

   CAPRAZ .NET 'TE ARA





 


Dersin Adı : SQL ile birden fazla tablodan seçim yapma
Okunma : 977 Kategori :   SQL  
Eklenme Tarihi : 10/30/2004


.: DETAY :.


         

Bu dersimizde SQL'de çalışırken tabloların birbirine nasıl eklenerek bilgi alabileceğimizi göreceğiz. Elimizde bir okulun öğrenci bilgilerinin bulunduğu bir veritabanı olduğunu düşünelim. Veritabanımızdaki "öğrenciler" adındaki tabloda sırası ile "ogrencino", "isim","soyisim","ogretmen" şeklinde alanlar(fields) bulunduğunu farzedelim. "Öğretmenler" adındaki başka bir tabloda ise "ogretmenid" , "isim" , "soyisim" şeklinde alanların bulunduğunu düşünelim. Öğrenciler adındaki tablodaki "ogrenciogretmen" alanındaki değerler sayı ile belirtilsin ve bu sayılar "Öğretmenler" tablsundaki ogretmenid numarasına gönderme yapsın. Bildik SQL yöntemleri ile her bir öğrencinin adını , soyadını ve öğretmenin adını soyadını yazmak için şöyle bir kod gerekecekti. Aşağıdaki örnekte Öğrenciler tablosu "ogr" , öğretmenler tablosu "ogret" olarak ifade edilmiştir.

<%
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 kullanılmayan bir kullanım özelliği 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
%>