1. SQL ’E GİRİŞ

SQL Kelime Bulutu

SQL (STRUCTURED QUERY LANGUAGE) NEDİR ?

  • İlişkisel (RDMS) veritabanlarındaki bilgileri yönetmek ve sorgulamak için kullanılan bir dildir.
  • SQL, C, C++, C#, Java gibi bir programlama dili değildir. Oracle, SQL Server, Sybase, MySQL, DB2 gibi veritabanlarında kullanılan alt dildir!
  • Kullanıcıların ve uygulamaların veritabanındaki verilere erişmek ve istediği değişiklikleri yapabilmek için kullandıkları komutlar bütünüdür.

SQL KOMUTLARININ SINIFLANDIRILMASI

SQL (alt dili) komutları yaptığı işlevler açısından DML, DDL ve DCL olmak üzere 3 kısıma ayrılır.

SQL KOMUTLARININ SINIFLANDIRILMASI.png

SQL ’İN KULLANIM ALANLARI

SQL komutları ile :

  • Verileri, veri kümelerini modellemek ve yönetme işlemleri yapılır.
  • Veri sorgulama, ekleme, silme ve değiştirme işlemleri yapılır.
  • Veritabanı nesneleri oluşturma, değiştirme ve silme işlemleri yapılır.
  • Veritabanına ve nesnelere erişimi kontrol etme işlemleri yapılır.
  • Veritabanı tutarlılığını ve bütünlüğünü sağlama işlemleri yapılır.

SELECT STATEMENT

  • Seçme : Sorgulama sonucunda ilgili tablo(lar)dan seçilen satırları geri döndürmek üzere bir SQL ifadesi kullanılır.
  • Gösterim : Bir sorgulama sonucunda ilgili tablo(lar)dan seçilen kolonları geri döndürmek üzere SQL’in gösterim yeteneği kullanılır.
  • Birleştirme : Bir sorgulama sonucunda farklı iki tablodan seçilen verileri bir arada sunmak için SQL’in birleştirme yeteneği kullanılır.

SELECT STATEMENT

SELECT STATEMENT SYNTAX

SELECT *|{[DISTINCT] column|expression [alias],…} FROM table;

  • SELECT: Hangi kolonların gösterileceğini belirler.
  • FROM: Belirtilen kolonları içeren tabloları belirler.

ORACLE HR ŞEMASI VE TABLOLARI

Bu yazıda kullanılan SQL sorguları örnek Oracle HR (Human Resources) şemasının tabloları üzerinden olacaktır.

ORACLE HR ŞEMASI.png

İSTENİLEN KOLONLARI SEÇMEK

Tüm personellerin adı, soyadı, maaşı ve işe giriş tarihini listeleyelim:

Select first_name, last_name, salary, hire_date from hr.employees;

İSTENİLEN KOLONLARI SEÇMEK.png

KOLONLARA ALİAS VERMEK

  • Kolonlar yeniden adlandırılır.
  • Hesaplamalarda kolaylık sağlar.
  • Kolon isminden hemen sonra yazılır.
  • Kolon ismiyle o kolona verilecek alias arasına AS ifadesi yazılabilir.
  • Alias eğer “%,#,$” gibi işaretler içeriyorsa, büyük küçük harf yazılmak isteniyorsa, Türkçe karakterler kullanılmak isteniyorsa çift tırnak içinde yazılır.

ÖRNEK;
Tüm personellerin adını, soyadını, maaşını ve işe giriş tarihini (ADI, SOYADI, MAAS ve ISE_GIRIS_TARIHI ) şeklinde alias vererek listeleyelim:

SELECT first_name “ADI”, last_name SOYADI, salary “MAAS”, hire_date as ISE_GIRIS_TARIHI FROM hr.employees;

KOLONLARA ALİAS VERMEK.png

ARİTMETİK OPERATÖRLER

  • Aritmetik operatörler kullanılarak date ve number verileri üzerinde işlemler yapılabilir.

Aritmetik operatörler.png

  • Önceliklendirme: * , / , + , –

ARİTMETİK OPERATÖRLERİN KULLANIMI

Tüm personellerin adını, soyadını, maaşını ve %8 zam düşünülen maaşını ADI, SOYADI, MAAS ve ZAMLI_MAAS aliasları vererek listeleyelim:

SELECT first_name “ADI”, last_name SOYADI , salary “MAAS”, (salary+salary*8/100) as ZAMLI_MAAS FROM hr.employees;

ARİTMETİK OPERATÖRLERİN KULLANIMI.png

NULL DEĞERİ VE ÖZELLİKLERİ

  • Bir NULL değer mevcut olmayan, bilinmeyen, belirtilmemiş yada uygun olmayan bir değerdir.
  • NULL değeri sıfır (0) yada boşluk değerleriyle aynı değildir.
  • Bir NULL ifadesinin aritmetik işleme girmesi sonucu oluşacak sonuç yine NULL’dur.

BİRLEŞTİRME OPERATÖRÜ

  • Kolonları veya karakter dizilerini diğer kolonlarla birleştirir
  • Çift düz çizgi karakteri (pipe=’||’) ile temsil edilir.
  • Karakter ifadeye sahip bir sonuç kolonu oluşturulur
  • CONCAT komutu birleştirme işlemleri için kullanılabilir.

Personellerin adını, soyadını birleştirerek ve maasını AD SOYAD ve MAASLAR aliası vererek listeyelim:

SELECT first_name||‘  ‘||last_name AS “AD SOYAD”, concat(‘Maas: ‘,salary) “MAASLAR” FROM hr.employees;

BİRLEŞTİRME OPERATÖRÜ.png

TEKRARLAYAN SATIRLAR

  • Seçilen kolonlara ait aynı değere sahip satırlar tekrarlayabilir.
  • Birden fazla ama aynı değere sahip satırların tek bir satırda birleştirilmesini sağlamak için DISTINCT komutu kullanılır.

Şirketteki tüm müdürlükleri listeleyelim;

select distinct department_name from hr.departments;

TEKRARLAYAN SATIRLAR.png


Ünlem

NOT:
Tablo yapılarını görüntülemek için DESCRIBE komutu kullanılır.

DESC HR.EMPLOYEES;


 

#bilgisayar-muhendisligi, #database, #endustri-muhendisligi, #sql, #veritabani, #yazilim