Skip to the content.

Referandum Verileri

Zorluk Seviyesi 1

İlçe bilgisi olmayan kayıtları siliniz

Cevap ```SQL DELETE FROM referandum WHERE ilce=''; ```

İl ve ilçeye göre sıralı liste

Cevap ```SQL SELECT il, ilce FROM referandum ORDER BY il, ilce; ```

Türkiye toplam seçmen adedi

Cevap ```SQL SELECT SUM(kayitli) FROM referandum; ```

Türkiye toplam geçerli oy adedi

Cevap ```SQL SELECT SUM(gecerli) AS 'GEÇERLİ OY' FROM referandum; ```

Türkiye geneli özet (toplam seçmen, toplam geçerli, vb.)

Cevap ```SQL SELECT SUM(kayitli) AS 'Kayıtlı Seçmen Sayısı', SUM(oykullanan) AS 'Oy Kullanan Seçmen Sayısı', SUM(gecerli) AS 'Geçerli Oy Sayısı', SUM(gecersiz) AS 'Geçersiz Oy Sayısı', SUM(evet) AS 'Evet Sayısı', SUM(hayir) AS 'Hayır Sayısı' FROM referandum; ```

İlçe nüfusu 1500 kişiden daha az ilçeler

Cevap ```SQL SELECT * FROM referandum WHERE kayitli < 1500; ```

Zorluk Seviyesi 2

En çok geçersiz oy kullanan il ve geçersiz oy sayısı

Cevap ```SQL SELECT il, SUM(gecersiz) AS 'Geçersiz Oy Sayısı' FROM referandum GROUP BY il ORDER BY 2 DESC LIMIT 1; ```

En fazla geçerli oy kullanan ilk 3 il

Cevap ```SQL SELECT il, SUM(gecerli) AS 'Geçerli Oy Sayısı' FROM referandum GROUP BY il ORDER BY 2 DESC LIMIT 3; ```

Ankara, İstanbul ve İzmirdeki geçersiz oylar toplamı

Cevap1 ```SQL SELECT SUM(gecersiz) FROM referandum WHERE il='Ankara' OR il='İstanbul' OR il='İzmir'; ```
Cevap2 ```SQL SELECT SUM(gecersiz) FROM referandum WHERE il IN ('Ankara', 'İstanbul', 'İzmir'); ```

Adana ve Diyarbakır hariç Evet oylar toplamı

Cevap1 ```SQL SELECT SUM(evet) FROM referandum WHERE il NOT IN ('Diyarbakır', 'Adana'); ```
Cevap2 ```SQL SELECT SUM(evet) FROM referandum WHERE il != "Diyarbakır" AND il != "Adana"; ```

Adana ve Diyarbakır için Evet oylar toplamı

Cevap1 ```SQL SELECT SUM(evet) FROM referandum WHERE il IN ("Diyarbakır", "Adana");; ```
Cevap2 ```SQL SELECT SUM(evet) FROM referandum WHERE il = "Diyarbakır" OR il = "Adana"; ```

Her ilin ilçe sayısı

Cevap ```SQL SELECT il AS "İL" , count(1) AS "İLÇE ADEDİ" FROM referandum GROUP BY il; ```

Zorluk Seviyesi 3

İl nüfusuna oranla en yüksek geçersiz oy kullanan il

Cevap ```SQL SELECT il, SUM(gecersiz)/SUM(kayitli) AS 'Geçersiz Oy Oranı' FROM referandum GROUP BY il ORDER BY 2 DESC LIMIT 1; ```

A, B ve C harfi ile başlayan şehirlerin hayır adedi toplamı

Cevap1 ```SQL SELECT il, SUM(hayir) AS 'Hayır Adedi' FROM referandum WHERE il LIKE 'A%' OR il LIKE 'B%' OR il LIKE 'C%'; ```
Cevap2 ```SQL SELECT il, SUM(hayir) AS 'Hayır Adedi' FROM referandum WHERE LEFT(il,1) IN ('A', 'B', 'C'); ```

Zorluk Seviyesi 4

oykullanmayan adlı sahayı tanımlayın ve değerlerini doldurun

Cevap ```SQL ALTER TABLE referandum ADD oykullanmayan decimal(7,4) NOT NULL; UPDATE referandum SET oykullanmayan = kayitli - oykullanan; ```

Tabloya, evet_oran ve hayir_oran adlı 2 saha ekleyin. Veri hassasiyeti 4 hane olsun.

Cevap ```SQL ALTER TABLE referandum ADD evet_oran decimal(6,2) NOT NULL, ADD hayir_oran decimal(6,2) NOT NULL AFTER evet_oran; ```

Bu iki sahanın değerlerini şu formüle göre doldurun:

evet_oran = evet / geçerli * 100;
hayir_oran = hayir / geçerli * 100;
Cevap ```SQL UPDATE referandum SET evet_oran = (evet/gecerli)*100; UPDATE referandum SET hayir_oran = (hayir/gecerli)*100; ```

Veriler üzerinde tutarlılık kontrolleri yapınız

Örnek:

- Evet+Hayır = Geçerli
- kayitli >= geçerli+geçersiz
- Geçerli+Geçersiz = Oy kullanan
Cevap ```SQL SELECT * FROM referandum WHERE evet+hayir-gecerli <> 0; SELECT * FROM referandum WHERE gecerli+gecersiz < kayitli; SELECT * FROM referandum WHERE gecerli+gecersiz-oykullanan != 0; ```