PostgreSQL Seç, Ekle, Güncelle ve Sil Örneğiyle Mevcuttur

Neler Var? PostgreSQL?

The PostgreSQL VAR operatörü bir alt sorguda satır(lar)ın mevcut olup olmadığını test eder. Bu, operatörün bir alt sorguyla birlikte kullanıldığı anlamına gelir. Alt sorguda en az bir satır bulunduğunda Exists operatörünün karşılandığı söylenir. Bu işlemi SELECT, UPDATE, INSERT ve DELETE ifadeleriyle birlikte kullanabilirsiniz.

Postgres Sorgu Söz Dizimi Mevcuttur

İşte sözdizimi PostgreSQL EXISTS beyanı:

WHERE EXISTS (subquery);

Yukarıdaki sözdizimi, EXISTS operatörünün bir alt sorgu olan bir bağımsız değişkeni aldığını gösterir. Alt sorgu yalnızca bir SELECT ifadesi bu, sütun adları veya ifadelerin listesi yerine SELECT * ile başlamalıdır.

PostgreSQL SELECT İfadesiyle birlikte bulunur

EXISTS operatörüyle SELECT ifadesinin nasıl kullanılacağını görelim. Aşağıdaki tablolarımız var:

Kitap:

PostgreSQL SELECT İfadesiyle birlikte bulunur

Fiyat:

PostgreSQL SELECT İfadesiyle birlikte bulunur

Aşağıdaki ifadeyi çalıştırın:

SELECT *
FROM Book
WHERE EXISTS (SELECT *
              FROM Price
              WHERE Book.id = Price.id);

Bu, aşağıdakileri döndürür:

PostgreSQL SELECT İfadesiyle birlikte bulunur

Yukarıdaki komut, Kitap tablosundaki kimliği alt sorguya göre herhangi bir kaydın kimliğiyle eşleşen tüm kayıtları döndürmelidir. Yalnızca bir kimlik eşleştirildi. Bu nedenle yalnızca bir kayıt döndürüldü.

PostgreSQL INSERT İfadesi ile mevcuttur

EXISTS operatörünü şu şekilde kullanabiliriz: INSERT beyanıAşağıdaki 3 tablomuz var:

Kitap:

PostgreSQL INSERT İfadesi ile mevcuttur

Fiyat:

PostgreSQL INSERT İfadesi ile mevcuttur

Fiyat2:

PostgreSQL INSERT İfadesi ile mevcuttur

Daha sonra şu ifadeyi çalıştırabiliriz:

INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
              FROM Book
              WHERE Book.id = Price2.id);

Fiyat tablosu şu an şu şekilde:

PostgreSQL INSERT İfadesi ile mevcuttur

Price5 adlı tablodaki id'si 2 olan satır eşleştirildi. Bu kayıt daha sonra Fiyat tablosuna eklendi.

Postgres, UPDATE İfadesiyle Vardır

EXISTS operatörünü UPDATE deyiminde kullanabiliriz.

Aşağıdaki sorguyu çalıştırın:

UPDATE Price
SET price = (SELECT price
              FROM Price2
              WHERE Price2.id = Price.id)
WHERE EXISTS (SELECT id, price
FROM Price2
WHERE Price2.id = Price.id);

Postgres, UPDATE İfadesiyle Vardır

Fiyat tablosunun fiyat sütununu güncelliyoruz. Amacımız aynı kimliği paylaşan öğelerin fiyatlarının aynı olmasını sağlamaktır. Yalnızca bir satır eşleşti, yani 5.

Ancak fiyatlar eşit yani 205 olduğundan güncelleme yapılmadı. Eğer farklılık olsaydı güncelleme yapılırdı.

Postgres, DELETE İfadesiyle Vardır

A PostgreSQL DELETE ifadesi EXISTS operatörünü kullanabilir. İşte bir örnek:

DELETE FROM Price
WHERE EXISTS (SELECT *
              FROM Price2
              WHERE Price.id = Price2.id);

Fiyat tablosu şu an şu şekilde:

Postgres, DELETE İfadesiyle Vardır

Kimliği 5 olan satır silindi.

PostgreSQL pgAdmin kullanarak Exist Beyanı

Şimdi bu eylemlerin pgAdmin kullanılarak nasıl gerçekleştirilebileceğini görelim:

Exists Sorgusu Nasıl Kullanılır? PostgreSQL pgAdmin kullanarak SELECT İfadesi ile

Aşağıda Exists sorgusunu kullanma adımları verilmiştir. PostgreSQL pgAdmin kullanarak SELECT ifadesiyle:

Adım 1) pgAdmin hesabınıza giriş yapın

PgAdmin'i açın ve kimlik bilgilerinizi kullanarak hesabınıza giriş yapın

Adım 2) Demo Veritabanı Oluşturun

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

PostgreSQL pgAdmin kullanarak Exist Beyanı

Adım 3) Sorguyu Yazın

Sorgu düzenleyicisine aşağıdaki sorguyu yazın:

SELECT *
FROM Book
WHERE EXISTS (SELECT *
              FROM Price
              WHERE Book.id = Price.id);

Adım 4) Sorguyu Yürütün

Yürüt düğmesine tıklayın

PostgreSQL pgAdmin kullanarak Exist Beyanı

Aşağıdaki sonucu döndürmesi gerekir:

PostgreSQL pgAdmin kullanarak Exist Beyanı

INSERT Deyimi ile

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

Açıklamada mevcut PostgreSQL pgAdmin'i kullanma

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

INSERT INTO Price
SELECT id, price
FROM Price2
WHERE EXISTS (SELECT id
              FROM Book
              WHERE Book.id = Price2.id);

) 4 Adım Yürüt düğmesine tıklayın.

Açıklamada mevcut PostgreSQL pgAdmin'i kullanma

Fiyat tablosu artık aşağıdaki gibi olmalıdır:

Açıklamada mevcut PostgreSQL pgAdmin'i kullanma

GÜNCELLEME Bildirimi ile

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

Açıklamada mevcut PostgreSQL pgAdmin'i kullanma

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

UPDATE Price
SET price = (SELECT price
              FROM Price2
              WHERE Price2.id = Price.id)
WHERE EXISTS (SELECT id, price
FROM Price2
WHERE Price2.id = Price.id);

) 4 Adım Yürüt düğmesine tıklayın.

PostgreSQL pgAdmin kullanarak Exist Beyanı

Fiyat tablosu artık aşağıdaki gibi olmalıdır:

PostgreSQL pgAdmin kullanarak Exist Beyanı

DELETE İfadesi ile

Aynısını pgAdmin aracılığıyla gerçekleştirmek için şunu yapın:

) 1 Adım pgAdmin hesabınıza giriş yapın.

) 2 Adım

  1. Soldaki gezinme çubuğundan Veritabanları'na tıklayın.
  2. Demo'yu tıklayın.

PostgreSQL pgAdmin kullanarak Exist Beyanı

) 3 Adım Sorgu düzenleyicisine sorguyu yazın:

DELETE FROM Price
WHERE EXISTS (SELECT *
              FROM Price2
              WHERE Price.id = Price2.id);

) 4 Adım Yürüt düğmesine tıklayın.

PostgreSQL pgAdmin kullanarak Exist Beyanı

Fiyat tablosu artık aşağıdaki gibi olmalıdır:

PostgreSQL pgAdmin kullanarak Exist Beyanı

ÖZET

  • EXISTS operatörü, bir alt sorguda satır(lar)ın mevcut olup olmadığını test eder.
  • Bir alt sorguyla birlikte kullanılır ve alt sorgu en az bir satır döndürdüğünde karşılandığı söylenir.
  • SELECT, UPDATE, INSERT ve DELETE ifadeleriyle birlikte kullanılır.

Bu Eğitimde kullanılan Veritabanını İndirin