Aşağıdaki sorgular NorthWind Örnek Veritabanını Kullanmaktadır.
SELECT
Select Komutu veritabanından veri almak (arama/listeleme) için kullanılır.
WHERE
İstenilen koşula uyan kayıtların listelenmesi için WHERE komutu kullanılır.
DISTINCT
Sorgu sonucunda yer alan tekrarlı kayıtların (satırların), tek kayıt olarak getirilmesini sağlar.
Kaç farklı şehirden müşteri bulunmaktadır?
ORDER BY
Sorgular sonucunda listelenen kayıtların belirli alanlara göre alfabetik veya sayısal olarak artan ya da azalan şeklinde sıralanması için "ORDER BY" komutu kullanılır.
LIKE / NOT LIKE
Veriler içerisindeki belirli desenin aranması için WHERE ile birlikte kullanılır
BETWEEN
IN
NULL ve NULL olmayan içeriğe sahip alanların sorgulanması.
AS
AS ifadesi ile alanlara/tablolara takma isim verilir.
Tablo Birleştirme İşlemleri
Birleştirme (join) işlemi, farklı tablolardaki kayıtları birleştirip yeni veri kümeleri oluşturmak için kullanılır.
Doğal/İç Birleştirme (Natural/Inner Join)
"INNER JOIN" yerine "JOIN" ifadesi de kullanılabilir.
Aşağıdaki kullanım biçimi de INNER JOIN gibidir.
Sol Dış Birleştirme (Left Outer Join)
Aşağıdaki sorgu eşdeğerdir.
Sağ Dış Birleştirme (Right Outer Join)
Aşağıdaki sorgu yukarıdaki birleştirme sorgusuna eşdeğerdir.
"CROSS JOIN" ve "FULL OUTER JOIN" türleri de mevcuttur.
SELECT ... INTO
Bir tablodan alınan verileri, yeni bir tabloya kopyalamak için kullanılır.
Yeni tablonun mevcut olmaması gerekir.
INSERT
INSERT komutu tabloya yeni kayıt eklemek için kullanılır.
Ekleme işlemlerinde veri bütünlüğü kısıtları göz önüne alınır.
Yalnızca bazı sütunlara veri eklememiz mümkündür.
Veri eklenmeyen sütunlar NULL (boş) gözükecektir.
INSERT INTO ... SELECT
Bir tablodan alınan verileri, varolan bir tabloya kopyalamak için kullanılır.
UPDATE
UPDATE komutu tablodaki kayıt(lar)ın değiştirilmesini sağlar.
Güncelleme işlemlerinde veri bütünlüğü kısıtları göz önüne alınır.
WHERE ifadesi kullanılmazsa tüm satırlar değiştirilir.
DELETE
DELETE ifadesi tablodaki kayıt veya kayıtların silinmesini sağlar.
Silme işlemlerinde veri bütünlüğü kısıtları göz önüne alınır.
Tabloyu silmeden tablodaki bütün kayıtları silmek mümkündür.
Aşağıdaki komut tablodaki bütün kayıtları silmeye yarar.
Uygulama Programları ile VYS İşlemleri
Uygulama programları ile veritabanı işlemleri yapılabilmesi için, programlama dili ile kullanılan veritabanı arasında iletişimi sağlayacak sürücülere ihtiyaç vardır.
Ekleme/Silme/Değiştirme/Arama İşlemlerini İçeren Örnek Uygulama
Örnek Uygulamanın kaynak kodları ve anlatımını içeren videolara erişmek için: https://github.com/celalceken/NesneYonelimliAnalizVeTasarimDersiUygulamalari/tree/master/Ders9
SET search_path TO schema,public;
SELECT * FROM "customers";
SELECT "CompanyName", "ContactName" FROM "customers";
SELECT * FROM "customers" WHERE "Country" = 'Argentina';
SELECT * FROM "customers" WHERE "Country" != 'Brazil';
SELECT * FROM "customers" WHERE "Country"='Brazil' AND "Region" = 'SP';
SELECT * FROM "customers" WHERE "Country" = 'Türkiye' OR "Country" = 'Japan';
SELECT * FROM "order_details" WHERE "UnitPrice" = 14;
SELECT * FROM "order_details" WHERE "UnitPrice" < 14;
SELECT * FROM "order_details" WHERE "UnitPrice" <= 14;
SELECT * FROM "order_details" WHERE "UnitPrice" >= 14;
SELECT * FROM "order_details" WHERE "UnitPrice" > 14;
SELECT DISTINCT "OrderID", "Discount" FROM "order_details" ORDER BY "OrderID"
SELECT DISTINCT "City" from "customers";
SELECT * FROM "customers" ORDER BY "ContactName" ASC;
SELECT * FROM "customers" ORDER BY "ContactName" DESC;
SELECT * FROM "customers" ORDER BY "ContactName" DESC, "CompanyName";
SELECT * FROM "customers" ORDER BY "Country", "ContactName";
SELECT * FROM "customers" WHERE "Country" LIKE 'P%';
SELECT * FROM "customers" WHERE "Country" NOT LIKE 'P%'; # NULL olanlar getirilmez
SELECT * FROM "customers" WHERE "Country" LIKE '%e';
SELECT * FROM "customers" WHERE "Country" LIKE '_a%';
SELECT * FROM "customers" WHERE "Country" LIKE '%pa%';
SELECT * FROM "customers" WHERE "Country" LIKE '%pa_';
SELECT * FROM "products" WHERE "UnitPrice" BETWEEN 10 AND 20;
SELECT * FROM "products" WHERE "ProductName" BETWEEN 'C' AND 'M';
SELECT * FROM "customers"
WHERE "public"."customers"."Country" IN ('Türkiye', 'Kuzey Kıbrıs Türk Cumhuriyeti');
SELECT * FROM "customers" WHERE "Region" IS NOT NULL;
SELECT * FROM "customers" WHERE "Region" IS NULL;
SELECT "CompanyName" AS "musteriler" FROM "customers";
SELECT "UnitPrice", "UnitPrice" * 1.18 AS "KDVliTutar" FROM "products";
SELECT "OrderID" AS "siparisNo",
"ShipPostalCode" || ',' || "ShipAddress" AS "gonderiAdresi"
FROM "orders"
WHERE "OrderDate" BETWEEN '07/04/1996' AND '07/09/1996';
SELECT * FROM "Muzisyenler" INNER JOIN "Iller"
ON "Muzisyenler"."ilKodu" = "Iller"."ilKodu"
SELECT
"public"."orders"."OrderID",
"public"."customers"."CompanyName",
"public"."customers"."ContactName",
"public"."orders"."OrderDate"
FROM "orders"
INNER JOIN "customers" ON "orders"."CustomerID" = "customers"."CustomerID"
SELECT
"public"."orders"."OrderID",
"public"."customers"."CompanyName",
"public"."customers"."ContactName",
"public"."orders"."OrderDate"
FROM "orders"
JOIN "customers" ON "orders"."CustomerID" = "customers"."CustomerID"
SELECT
"public"."orders"."OrderID",
"public"."customers"."CompanyName",
"public"."customers"."ContactName",
"public"."orders"."OrderDate"
FROM "orders"
INNER JOIN "customers" ON "orders"."CustomerID" = "customers"."CustomerID"
WHERE "public"."customers"."Country" LIKE 'A%'
ORDER BY "public"."customers"."CompanyName" DESC;
SELECT
"orders"."OrderID" AS "siparisNo",
"customers"."CompanyName" AS "sirket",
"orders"."OrderDate" AS "siparisTarihi"
FROM "orders"
INNER JOIN "customers" ON "orders"."CustomerID" = "customers"."CustomerID";
SELECT
"orders"."OrderID" AS "siparisNo",
"customers"."CompanyName" AS "sirket",
"orders"."OrderDate" AS "siparisTarihi"
FROM "orders", "customers"
WHERE "orders"."CustomerID" = "customers"."CustomerID"
SELECT
"orders"."OrderID",
"orders"."OrderDate",
"customers"."CompanyName",
"employees"."FirstName",
"employees"."LastName"
FROM "orders"
INNER JOIN "customers" ON "orders"."CustomerID" = "customers"."CustomerID"
INNER JOIN "employees" ON "orders"."EmployeeID" = "employees"."EmployeeID";
SELECT
"orders"."OrderID",
"products"."ProductName"
FROM "order_details"
INNER JOIN "orders" ON "order_details"."OrderID" = "orders"."OrderID"
INNER JOIN "products" ON "order_details"."ProductID" = "products"."ProductID";
SELECT * FROM "Muzisyenler" LEFT OUTER JOIN "Iller"
ON "Muzisyenler"."ilKodu" = "Iller"."ilKodu"
SELECT
"orders"."OrderID" AS "siparisNo",
"customers"."CompanyName" AS "sirket",
"orders"."OrderDate" AS "siparisTarihi"
FROM "customers"
LEFT OUTER JOIN "orders" ON "orders"."CustomerID" = "customers"."CustomerID"
ORDER BY "OrderID" DESC;
SELECT
"orders"."OrderID" AS "siparisNo",
"customers"."CompanyName" AS "sirket",
"orders"."OrderDate" AS "siparisTarihi"
FROM "customers"
LEFT JOIN "orders" ON "orders"."CustomerID" = "customers"."CustomerID"
ORDER BY "OrderID" DESC;
SELECT * FROM "Muzisyenler" RIGHT OUTER JOIN "Iller"
ON "Muzisyenler"."ilKodu" = "Iller"."ilKodu"
SELECT
"orders"."OrderID" AS "siparisNo",
"employees"."FirstName" AS "satisTemsilcisiAdi",
"employees"."LastName" AS "satisTemsilcisiSoyadi",
"orders"."OrderDate" AS "siparisTarihi"
FROM "orders"
RIGHT OUTER JOIN "employees" ON "orders"."EmployeeID" = "employees"."EmployeeID"
ORDER BY "OrderID" DESC;
INSERT INTO "employees" ("EmployeeID","FirstName", "LastName")
VALUES (10, 'Melih', 'Can');
SELECT
"orders"."OrderID" AS "siparisNo",
"employees"."FirstName" AS "satisTemsilcisiAdi",
"employees"."LastName" AS "satisTemsilcisiSoyadi",
"orders"."OrderDate" AS "siparisTarihi"
FROM "orders"
RIGHT JOIN "employees" ON "orders"."EmployeeID" = "employees"."EmployeeID"
ORDER BY "OrderID" DESC;
SELECT "CompanyName", "ContactName" INTO "MusteriYedek" FROM "customers";