Ana içeriğe geç

SQL NOT EQUAL Operatörü: Yeni Başlayanlar İçin Kılavuz

Uzman rehberimizle SQL NOT EQUAL gücünü keşfedin. Daha iyi analiz için pratik örnekler ve optimizasyon ipuçlarıyla veri sorgularını nasıl iyileştireceğinizi öğrenin.
· 6 dk. oku

Yapay Zeka ile Keşfedin

SQL dünyasında, karşılaştırma operatörlerini anlamak veri işleme ve analiz için kritik öneme sahiptir. Bu operatörler arasında, NOT EQUAL (<> veya !=) belirli ölçütlerle eşleşmeyen verileri filtrelemede hayati bir rol oynar. Bu eğitim, NOT EQUAL operatörünü anlaşılır kılmayı; önemini, kullanımını ve verimli SQL sorguları için inceliklerini yeni başlayanlara göstermeyi amaçlar.

Karşılaştırma Operatörlerine Giriş

Karşılaştırma operatörleri SQL'in temelidir ve verinin belirli koşullara göre değerlendirilmesine olanak tanır. Bunlara eşitlik (=), eşitsizlik (<>, !=), büyüktür (>) ve küçüktür (<) gibi operatörler dahildir. Dikkat çekici bir şekilde, SQL eşitsizliği belirtmek için iki sembol sunar: <> ve !=. Her ikisi de aynı amaca hizmet eder; ancak ISO standartlarına uyum için <> tercih edilir.

SQL NOT EQUAL Operatörünü Keşfetmek

Neden NOT EQUAL kullanılır?

NOT EQUAL operatörü (<> veya !=), belirli bir koşulu sağlamayan verileri bir tablodan sorgulamak için kullanılır. Sonuçlardan belirli satırları hariç tutmayı sağlayarak veri analizini daha hassas ve anlamlı hale getirir.

Sözdizimi ve kullanım

NOT EQUAL operatörünün sözdizimi basittir; iki ifadenin karşılaştırılması yoluyla eşleşmeyen verileri ayıklar. WHERE, JOIN ve HAVING gibi çeşitli deyim ve koşullarla birlikte kullanılabilir. 

WHERE ifadesi

Bir sütunun değeri belirli bir değerle eşleşmediğinde satırları filtrelemek için kullanılabilir. Örneğin, bir veritabanında belirli bir ürün kimliğini hariç tutarak ürünleri seçmek için aşağıdaki kod kullanılabilir:

SELECT * 
FROM products 
WHERE ProductID <> 1;

JOIN koşulları

Tabloları birleştirme koşullarını tanımlamak için ON ifadelerinde kullanılabilir.

SELECT e1.name, e2.name
FROM employees e1
JOIN employees e2
ON e1.manager_id != e2.employee_id;

HAVING ifadesi

Toplam (aggregate) koşullara dayalı olarak gruplanmış verileri filtrelemek için kullanılabilir.

SELECT department_id, COUNT(*)
FROM employees
GROUP BY department_id
HAVING COUNT(*) != 5;

CASE ifadeleri

Koşullu mantık için kullanılabilir; koşul sağlandığında belirli sonuçlar döndürür.

SELECT name, 
       CASE 
           WHEN department_id != 10 THEN 'Other Department' 
           ELSE 'Department 10'
       END AS department_category
FROM employees;

UPDATE İfadeleri

WHERE ifadesinde, eşit olmama durumuna göre güncellenecek satırları belirtmek için kullanılabilir.

UPDATE employees
SET salary = salary * 1.1
WHERE job_id != 'Manager';

DELETE ifadeleri

Koşulun doğru olduğu satırları belirlemek ve silmek için WHERE ifadesinde kullanılabilir.

DELETE FROM employees
WHERE department_id != 10;

Pratik Örnekler

SQL NOT EQUAL operatörünün pratik kullanımını, veritabanlarını sorgulamada esnekliğini ve gücünü gösteren genişletilmiş örneklerle daha derinlemesine inceleyelim. Bu örnekler, farklı senaryolarda != ve <> kullanımını nasıl etkili biçimde uygulayacağınızı göstererek SQL sorgulama becerilerinizi geliştirecek.

Örnek 1: Belirli kayıtları filtreleme

Employees adlı bir veritabanı tablosu olduğunu ve EmployeeID, Name ve DepartmentID sütunlarına sahip olduğunu hayal edin. Örneğin DepartmentID 3'teki çalışanları hariç tutmak için NOT EQUAL operatörünü kullanabilirsiniz:

EmployeeID

Name

DepartmentID

1

Alice Johnson

1

2

Bob Smith

2

3

Carol White

3

4

David Green

2

5

Erin Black

4

SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID != 3;

Bu sorgu, DepartmentID 3'te olmayan tüm çalışanları getirir ve böylece o departmandaki kişileri etkili biçimde filtreler.

EmployeeID

Name

DepartmentID

1

Alice Johnson

1

2

Bob Smith

2

4

David Green

2

5

Erin Black

4

Örnek 2: Koşulları birleştirme

Diyelim ki DepartmentID 3'teki çalışanları ve adı 'A' ile başlayanları hariç tutmak istiyorsunuz. Bunun için NOT EQUAL operatörünü AND ve LIKE ile birleştirmeniz gerekir:

SELECT EmployeeID, Name, DepartmentID
FROM Employees
WHERE DepartmentID <> 3 AND Name NOT LIKE 'A%';

Bu sorgu, NOT EQUAL operatörünü desen eşleşmesi için LIKE ile birlikte nasıl kullanacağınızı gösterir; departman ve ad ölçütlerine göre bir çalışan alt kümesini hariç tutar.

EmployeeID

Name

DepartmentID

2

Bob Smith

2

4

David Green

2

5

Erin Black

4

Örnek 3: NULL değerlerin ele alınması

SQL'de NULL değerlerle çalışmak özel dikkat gerektirir; çünkü NULL bilinmeyeni temsil eder. ManagerID'si bilinmeyen (yani NULL olan) çalışanları bulmak için != veya <> kullanmayı düşünebilirsiniz. Ancak doğru yaklaşım IS NOT NULL kullanmaktır:

EmployeeID

Name

DepartmentID

ManagerID

1

Alice Johnson

1

NULL

2

Bob Smith

2

1

3

Carol White

3

1

4

David Green

2

2

5

Erin Black

4

3

Güncellenmiş Employees Tablosu

SELECT EmployeeID, Name
FROM Employees
WHERE ManagerID IS NOT NULL;

Bu sorgu, ManagerID'si bilinen çalışanları getirir ve NULL ManagerID'ye sahip olanları hariç tutar. SQL'in karşılaştırma işlemlerinde NULL değerleri nasıl yorumladığını anlamanın önemini vurgular.

EmployeeID

Name

2

Bob Smith

3

Carol White

4

David Green

5

Erin Black

Örnek 4: Toplamalarla NOT EQUAL kullanımı

Satışlar tablosundaki verileri, 2020 yılı satışlarını hariç tutarak analiz etmek istediğinizi düşünün. GROUP BY ile NOT EQUAL'ı birleştirmek, belirli yılları dışarıda bırakırken verileri toplamayı sağlar:

SaleID

SaleDate

Quantity

1

2019-05-01

2

2

2019-08-15

1

3

2020-04-20

3

4

2021-07-22

1

5

2021-11-05

2

6

2022-01-30

4

Sales Tablosu

SELECT YEAR(SaleDate) AS SaleYear, COUNT(*) AS TotalSales
FROM Sales
GROUP BY YEAR(SaleDate)
HAVING YEAR(SaleDate) <> 2020;

Bu sorgu, satışları yıla göre toplar ve 2020 yılı toplam satışlarını hariç tutar; böylece NOT EQUAL'ın toplama fonksiyonları ve GROUP BY ile birlikte veri analizini nasıl iyileştirebileceğini gösterir.

SaleYear

TotalSales

2019

2

2021

2

2022

1

Örnek 5: Performans optimizasyonu

Büyük veri kümelerini sorgularken, NOT EQUAL koşullarını nasıl yapılandırdığınız performansı etkileyebilir. Diyelim ki bir Products tablosuyla çalışıyorsunuz ve 5 ve 7 kategorilerindeki ürünleri hariç tutmak istiyorsunuz. NOT EQUAL'ı birden fazla kez kullanmak yerine, NOT IN kullanmak daha verimli olabilir:

ProductID

Name

CategoryID

1

Wireless Mouse

1

2

Gaming Keyboard

5

3

USB-C Charging Cable

3

4

Bluetooth Speakers

7

5

Ergonomic Chair

2

6

LED Monitor

4

7

Smartwatch

5

8

Desk Lamp

6

9

Webcam

2

SELECT ProductID, Name
FROM Products
WHERE CategoryID NOT IN (5, 7);

Bu sorgu daha derli topludur ve büyük veri kümelerinde potansiyel olarak daha verimli olabilir; birden fazla belirli değeri hariç tutarken bir optimizasyon tekniğini örnekler.

ProductID

Name

1

Wireless Mouse

3

USB-C Charging Cable

5

Ergonomic Chair

6

LED Monitor

8

Desk Lamp

9

Webcam

Bu örnekler sayesinde, SQL NOT EQUAL operatörünün basit hariç tutmalardan toplamalar ve performans dikkate alınarak yapılan karmaşık sorgulara kadar farklı senaryolardaki esnekliğini ve gücünü gördünüz.

Bu örnekleri uygularken, != ile <> arasındaki seçimin büyük ölçüde stil meselesi olduğunu; ancak tutarlılığın sorgularınızın okunabilirliğini ve bakımını kolaylaştıracağını unutmayın.

Performansla İlgili Hususlar

NOT EQUAL operatörü güçlü olsa da kullanımı performansla ilgili hususlarla dengelenmelidir. Eşitsizlik işlemleri bazen tam tablo taramaları gibi daha verimsiz sorgu yürütme planlarına yol açabilir. IN operatörü veya eşitlik koşulları gibi alternatifler, bazı senaryolarda daha iyi performans sunabilir.

Sonuç

NOT EQUAL operatörü, SQL'de veri filtreleme için temel bir araçtır. Uygulamasını anlayıp performans etkilerini dikkate alarak, uzmanlar verimli ve etkili sorgular oluşturabilir. ISO standartlarına uyum için <> kullanımına yönelmenin, SQL kodunuzun sağlam ve evrensel olarak yorumlanabilir olmasını sağlayacağını unutmayın.

SQL NOT EQUAL operatörü hakkında daha fazla bilgi edinmek ve daha fazla SQL temelini keşfetmek için SQL Temelleri Hızlı Başvuru Kılavuzu ve SQL Fundamentals yetenek yoluna göz atın.

Abid Ali Awan

Yazar

Abid Ali Awan

Sertifikalı bir veri bilimcisi olarak, yenilikçi makine öğrenimi uygulamaları oluşturmak için en son teknolojileri kullanmaya büyük ilgi duyuyorum. Konuşma tanıma, veri analizi ve raporlama, MLOps, konuşma yapay zekası ve NLP alanlarında güçlü bir geçmişe sahip olarak, gerçek bir etki yaratabilecek akıllı sistemler geliştirme becerilerimi geliştirdim. Teknik uzmanlığımın yanı sıra, karmaşık kavramları açık ve özlü bir dille ifade etme yeteneğine sahip, becerikli bir iletişimciyim. Sonuç olarak, veri bilimi konusunda aranan bir blog yazarı oldum ve giderek büyüyen veri profesyonelleri topluluğuyla görüşlerimi ve deneyimlerimi paylaşıyorum. Şu anda, içerik oluşturma ve düzenlemeye odaklanıyorum. Büyük dil modelleriyle çalışarak, hem işletmelerin hem de bireylerin verilerinden en iyi şekilde yararlanmalarına yardımcı olabilecek güçlü ve ilgi çekici içerikler geliştiriyorum.

SQL NOT IN SSS

SQL NOT EQUAL operatörü ne yapar?

SQL NOT EQUAL operatörü (<> veya !=), belirli bir koşulu karşılayan satırları hariç tutarak verileri filtreler. Genellikle, bir sorguda belirtilen ölçütleri karşılamayan verileri getirmek için kullanılır.

SQL'de <> ve != aynı şey midir?

Evet, <> ve != SQL'de eşitsizliği ifade eden ve aynı amaca hizmet eden operatörlerdir. Ancak, <> ISO standartlarıyla uyumlu olduğu için tercih edilir ve sorguların evrensel olarak yorumlanmasını kolaylaştırır.

NOT EQUAL operatörü NULL değerleri işleyebilir mi?

Hayır, NOT EQUAL operatörü NULL değerleri doğrudan işlemez. NULL, SQL'de bilinmeyen bir değeri temsil ettiğinden, NULL'ları filtrelemek için IS NOT NULL koşulunu kullanmanız gerekir.

SQL sorgularında NOT EQUAL kullanıldığında performans nasıl etkilenir?

NOT EQUAL kullanımı bazen tam tablo taraması gibi daha verimsiz sorgu yürütme planlarına yol açabilir. Performansı iyileştirmek için, uygun olduğunda IN operatörü veya indeksli eşitlik koşulları gibi alternatifleri değerlendirin.

NOT EQUAL operatörünü diğer SQL koşullarıyla birleştirebilir miyim?

Evet, NOT EQUAL operatörü, AND ve OR gibi mantıksal operatörlerin yanı sıra LIKE gibi desen eşleştirme fonksiyonlarıyla birleştirilerek daha karmaşık ve hassas sorgular oluşturulabilir.

 

Konular

İlgili