DEFINITIONS

Definitions More Info.
Definition ID576
TitleSQL
CategoryNOTES
Definitioncross join
Definition Description/* SENERYO: Bir otomobil satıcısı veri tabanı geliştiricisisiniz. Bir veri ttabanı geliştirerek; -- Web sitesi üzerinden otomobil satışı gerçekleştirebilmek istiyorsunuz. -- Bir kişinin WEB üzerinden sipariş verirken, otomobilinin modelini ve rengini seçmesi gerekiyor -- Üretici firma otomobiller için; 4 farklı model ve 5 farklı renk geliştirmişler -- Her model için varsayılan ren atanıyor. -- Model bilgileri MODELLER isimli tablo içinde tutulurken, -- Renk bilgileri ise RENKLER isimli tablo içinde tutuluyor. Bu tablo içinde bulunan sütunlar, aşağıdaki gibi olsun. Modeller: Model RenkNo ModelAd Renkler: RenkNo RenkAd */ --Önce tabloları oluşturalım use yuksel go if exists(select name from sys.tables where name='Modeller') begin drop table Modeller print 'Tablo Modeller Drop Edildi' end create table Modeller ( Model int, RenkNo int constraint df_RenkNo_Modeller default(1), ModelAd varchar(20) ) Print 'Tablo Modeller Oluşturuldu' go use YUKSEL go if exists(select name from sys.tables where name='Renkler') begin drop table Renkler Print 'Mevcuttaki Renkler tablosu silindi' end create table Renkler ( RenkNo int, RenkAd char(10) ) Print 'Tablo Renkler oluşturuldu' -- Modeller tablomuza verilerimizi ekleyelim insert into Modeller values (101,1,'Sedan') insert into Modeller values (102,1,'Spor') insert into Modeller values (103,1,'HatchBack') insert into Modeller values (104,1,'SunRoof') -- Renkler tablomuza verilerimizi ekleyelim insert into Renkler values (1,'Mavi') insert into Renkler values (2,'Kırmızı') insert into Renkler values (3,'Yeşil') insert into Renkler values (4,'Beyaz') insert into Renkler values (5,'Sarı') Soru: -- Sizin tüm renk ve model kombinasyonlarını çıkartmak için ne yapmanız gerekir? cevap: --Tipik bir CROSS JOIN ifadesi ile aşağıkdai gibi, ifademizi yazalım use yuksel go select m.ModelAd, c.RenkAd from Renkler c CROSS JOIN Modeller m order by m.ModelAd,c.RenkAd -- Burada CROSS JOIN ile ilgili ufak bir not değinmek istiyorum. -- Tümm modellere karşılık gelebilecek renkleri göstermeye çalışıyoruz. -- Aslında tablo içindeki veride tüm modellerde tüm renkler yoktur. Yani HatchBack karşılık gelebilecek renkler, Sedan'a karşılık gelebilecek renkler ...
RecordBycunay
Record Date19-07-2014 18:35:20
Düzenle
Kopyala
Sil