1-Siparis ve Personel tablolarını SQL ile oluşturunuz?
CREATE TABLE Siparis ( U_kodu integer, Personel_kodu integer, Musteri_Adi Char (40), S_Adedi integer, S_Tarih Date, Bolge Char(20), CONSTRAINT Ukod FOREIGN KEY (U_kodu) REFERENCES Urun (Ukodu), CONSTRAINT Pkod FOREIGN KEY (Personel_kodu) REFERENCES Personel (P_kodu) ) CREATE TABLE Personel ( P_kodu İNTEGER CONSTRAINT Pkodu PRIMARY KEY, Personel_Adi CHAR (40), Cinsi CHAR(5), Yas İNTEGER, Maas MONEY, Prim Char(3))
2-Bakırköy ve Kadıköy bölgelerinde mutfak robotu satan ve prim almayan personelin maaşını %20 arttıran bir sorgu yazınız
UPDATE Personel SET maas= maaas+maas*.20 WHERE P_kodu IN( SELECT Personel_kodu FROM Siparis AS s, Urun AS u WHERE U.Ukodu=s.U_kodu AND U_ismi=" Mutfak Robotu" AND (s.Bolge="Bakırkoy" OR s.Bolge="Kadıköy") );
3-Bakırköy bölgesinde çalışan kadın personeli tablodan silen bir sorgu yazınız.
DELETE FROM Personel WHERE P_kodu IN (SELECT Personel_kodu FROM Siparis WHERE bolge="Bakırkoy") AND cinsi="Kadın"
4-Hangi personelin hangi ürünü sattığını çapraz tablo şeklinde veren bir sorgu yapınız. (çapraz tabloda personel ismi ve ürün ismi bulunacaktır.
TRANSFORM Count(P.U_ismi) AS Toplam SELECT p.personel_adi, Count(P.U_ismi) AS Say FROM Personel AS P, Siparis As S, Urun AS U WHERE P.p_kodu=S.personel_kodu AND S.U_kodu=U.Ukodu GROUP BY p.personel_adi PİVOT P.U_ismi
5-Saç kurutma makinesi ve Elektrik süpürgesi satan personelin ismini ve cinsiyetini bölgeye göre artan sırada listeleyen bir sorgu yapınız.
SELECT p.personel_adi, p.Cinsi FROM Personel AS P, Siparis As S, Urun AS U WHERE P.p_kodu=S.personel_kodu AND S.U_kodu=U.Ukodu AND (U.U_ismi="Saç Kurutma Makinesi" OR U.U_ismi="Elektrik Süpürgesi") ORDER BY U.Bolge
6-Mayıs ayı içinde saç kurutma makinesi satan personelin İsmini, Cinsiyetini ve Hangi bölgede çalıştığını listeleyen bir sorguyu INNER JOIN ile yazınız.
SELECT p.personel_adi, p.Cinsi, S.Bolge FROM Personel AS P INNER JOIN (Siparis As S INNER JOIN Urun AS U ON S.U_kodu=U.Ukodu) ON P.p_kodu=S.personel_kodu WHERE U.U_ismi="Saç Kurutma Makinesi" AND MONTH(S.S_Tarih)=5 ORDER BY U.Bolge
7-Bölgeler bazında maaş ortalamasından maaşları fazla olan personelin personel kodu, adı, maaşı ve Bölgesini Bölgelere göre artan sırada listeleyen bir sorguyu INNER JOIN ve HAVING kullanarak yazınız.
SELECT p.maas, S.Bolge FROM Personel AS P INNER JOIN (Siparis As S INNER JOIN Bolge As B ON S.Bolge=B.Bolge) ON P.p_kodu=S.personel_kodu WHERE P.maas>B.ORT ORDER BY S.bolge SELECT Bolge, AVG(maas) INTO BOLGE FROM Personel AS P, Siparis As S WHERE P.p_kodu=S.personel_kodu
8-Sipariş tablosunda s_adedi ortalamasının güven sınırları dışında kalan satış miktarlarını ve bu satışı yapan personel isimlerini veren bir sorgu yapınız (güven aralığı : [ ] ) t=1.96
SELECT p.personel_adi, S.Adedi FROM Personel AS P INNER JOIN Siparis As S ON P.p_kodu=S.personel_kodu WHERE S.S_adedi< ( SELECT AVG(S_adedi)-1.96*(STDEV(S_Adedi)^(1/2)) FROM Siparis) OR S.S_adedi > ( SELECT AVG(S_adedi)+1.96*(STDEV(S_Adedi)^(1/2)) FROM Siparis)
çoğu yanlış