Veritabanı Tasarımı SQL Deyimi Anatomisi
Amaç Bu ders aşağıdaki hedefleri kapsamaktadır: Projeksiyon (projection), seçim (selection) ve birleştirme (join) ifadelerini doğru fonksiyonları/yetenekleri ile eşleme. Temel SELECT deyimi oluşturma. Bir tablodaki tüm satırları görüntülemek için doğru sözdizimini kullanma. Bir tablodaki belirli sütunları seçmek için doğru sözdizimini kullanma, veri görüntülenme şeklini değiştirme, ve aritmetik ifade ve operatörleri kullanarak hesaplamalar gerçekleştirme. 2
Amaç Bu ders aşağıdaki hedefleri kapsamaktadır: İstenen sonuçları görüntülemek için doğru operatör önceliklerini kullanarak sorguları oluşturma Nulldeğerini tanımlama Nulldeğerleri aritmetik ifadelerde oluşturmanın etkisini gösterme Bir sütun takma adı kullanarak bir sorgu oluşturma 3
SELECT SELECT, SQL de en önemli anahtar kelime olmasa da en önemlilerinden biridir. SELECT ifadesi veritabanından bilgi almak için kullanılır. SELECT ifadesini nasıl kullanacağınızı öğrendiğiniz zaman, veritabanına kapıyı açmaktasınızdır. Bir veritabanının başlık, tür, stüdyo, yapımcı, çıkış tarihi, seri, ülke, dil, değerlendirme, çalışma süresi gibi bilgiler içeren filmler hakkında olduğunu düşünün. Sadece Hindistan'da oluşturulan filmlerin başlıkları istendiğinde ne yaparsınız? SELECT deyimi belirli verileri aramak için size izin verir. 4
SELECT İfadesi SELECT ifadesi veritabanından bilgi alır. Sözdizimi: SELECT <sütun_adları> FROM <tablo_adı>; En basit yapısında şunları içermelidir: Görüntülenecek sütunları belirten SELECT cümleciği Hangi tablodan sütunları alacağını belirten FROM cümleciği 5
Kurallar SELECT title FROM d_songs; Ders kapsamında şunlar kullanılacaktır: Bireysel SQL komutunu belirten bir anahtar kelime. Örnek; SELECT ve FROM anahtar kelimelerdir. SQL ifadesinin parçası olan bir cümlecik. Örnek; SELECT title bir cümleciktir. Bir ifade birden fazla cümleciğin birleşimidir. Örnek; SELECT title FROM d_songs bir ifadedir. 6
SELECT İfadesinin Yetenekleri Projeksiyon: Tablodaki sütunlar seçmek için kullanılır. Projeksiyon Seçme: Tablodaki satırları seçmek için kullanılır. Seçme 7
Projeksiyon ve Seçme 8
Tabloları Birleştirme Join: Farklı tablolar arasında bağ oluşturarak onlarda tutulan bilgileri bir araya getirmek için kullanılır. Daha sonra detayları öğreneceksiniz. 9
Tüm Sütunları Seçme Bir tablodaki tüm sütunlardaki verileri listelemek için SELECT ifadesinde sütun adı yazmak yerine asterisk(*) sembolü kullanılır. SELECT * FROM d_songs; Örnekte d_songs tablosundaki tüm sütunlar seçilir. 10
Tüm Sütunları Seçme İsterseniz tablodaki tüm sütunları listeleyerek de görüntüleyebilirsiniz. SELECT id, title, duration, artist, type_code FROM d_songs; 11
Bazı Sütunları Yansıtma Tabloda sadece bazı sütunları yansıtm ak istiyorsanız, bu sütunları aralarına virgül koyarak SELECT cümleciğinde belirtmelisiniz. SELECT id, title, artist FROM d_songs; 12
Aritmetik Operatörleri Kullanma Birkaç basit kural ve yönergelere kullanarak, okunması ve düzenlenmesi kolay SQL deyimleri oluşturabilirsiniz. Kuralları bilmek SQL i kolay öğrenmeyi sağlayacaktır. Verilerin görüntülenme şeklini değiştirmeniz ve hesaplama yapmanız gerekebilir. Örneğin, Her çalışana % 5 zam verildiğinde ne olur? Bu yıllık kâr rakamlarını nasıl etkiler?" 13
Aritmetik Operatörleri Kullanma Bu tür hesaplamaların tümü aritmetik ifadeler kullanarak mümkündür. Zaten matematikte aritmetik ifadelerle aşinasınız. ekleme (+), çıkarma (-), çarpma (*), bölme (/) Bu örnek yeni bir sütun oluşturmaz ve gerçek veri değerini değiştirmez. Hesaplama sonuçları sadece çıktıda görülür. 14
Aritmetik Operatörlerde Öncelik Öncelik, Oracle ın aynı ifadedeki farklı operatörleri hangi sırada değerlendirdiğidir. Birden fazla operatörler içeren bir ifade değerlendirilirken, Oracle yüksek önceliğe sahip operatörleri düşük önceliğe sahip olanlardan önce değerlendirir. Oracle eşit önceliğe sahip operatörleri soldan sağa doğru değerlendirir. Aritmetik operatörler için sıralama şu şekildedir: * / + - Parantez içindeki ifadeler daha öncelikli olarak gerçekleşir. Bir sonraki sayfadaki tabloları önceliğe göre kontrol ediniz. 15
Aritmetik Operatörlerde Öncelik 16
NULL Değerler SQL de NULL ilginç bir kelimedir. NULL bir değerin kullanılamaz, atanmamış, bilinmeyen ya da uygulanamaz olmasıdır. NULL, boşluk ve sıfır ile aynı değildir. SQL de sıfır bir rakamdır ve boşluk bir karakterdir. Bazen bir sütun için değeri bilmezsiniz. Veritabanında bilinmeyenleri tutabilirsiniz. İlişkisel veritabanları bu bilinmeyen değerleri ifade etmek için NULL kullanır. 17
NULL Değerler Herhangi bir aritmetik ifadedeki sütun değeri null ise sonuçta null olur. Null ile bölme yaparsanız sonuçta null olur. Bununla birlikte, sıfırla bölmede de hata alırsınız. 18
NULL Değerler SELECT last_name, job_id, salary, commission_pct, salary*commission_pct FROM employees; 19
Takma Adlar Takm a ad çıktıda herhangi bir sütunu yeniden adlandırmadır. Takm a ad olm adan SQL ifadesi sonucunda gelen sütunların adı veritabanında kayıtlı oldukları sütun adları ya da 12*(SALARY+100) gibi ifadeler olacaktır. Muhtemelen çıktı sonuçlarınızı anlaması daha kolay adlarla değiştirmek isteyeceksiniz. Sütun takma adları çıktıdaki sütunları tekrardan adlandırmanızı sağlar. 20
Takma Adlar Sütun takma adı formatı için bazı kurallar vardır: Bir sütun takma adı: Bir sütun başlığını değiştirir Hesaplamalarda yararlıdır Hemen sütun adını izler Sütun adı ve takma arasındaki anahtar kelime AS isteğe bağlıdır Boşluk veya özel karakterler içeren bir ad ise çift tırnak işareti gerektirir. 21
Takma Adları Kullanma Sözdizimi: SELECT * sütun ifade [ AS takma_ad],... FROM table; Örnekler: SELECT last_name AS name, commission_pctas comm FROM employees; SELECT last_name "Name", salary*12 AS "Annual Salary" FROM employees; 22