SQL Dizesi Eşittir

Sql Dizesi Esittir



Dize işlemleri dünya gelişiminde en yaygın ve yinelenen görevlerden bazılarıdır. Veritabanları söz konusu olduğunda bile dize karşılaştırma gibi görevler, veri filtrelemede ve eşleşen kayıtları aramada çok önemli bir rol oynar.

Belirli kayıtları aramak, verileri filtrelemek veya çeşitli veri işleme görevlerini gerçekleştirmek olsun, SQL'in eşittir dizesini nasıl işlediğini anlamak çok önemlidir.

Bu kılavuzda, daha iyi anlaşılması için desteklenen sözdizimine, kullanımına ve çeşitli örneklere bakarak SQL dizesi eşitliklerini derinlemesine inceleyeceğiz.







SQL Dizesi Eşittir Sözdizimi

Dize filtrelemeyi gerçekleştirmenin çeşitli yolları vardır. Ancak en yaygın ve kolay tekniklerden biri WHERE cümleciğini kullanmaktır.



Aşağıda cümlenin söz dizimi gösterilmektedir:



Sütun1, sütun2, ...'yi SEÇİN
FROM table_name
WHERE sütun_adı = 'değer';

Bu durumda, 'sütun_adı' karşılaştırmak istediğimiz sütunu temsil ederken, değer de onu karşılaştırmak istediğimiz dize değişmezini ifade eder.





Bu, sağlanan dizelerin eşit olup olmadığını kontrol eden eşitlik operatörünü kullanır.

Örnek veri

Kullanımına geçmeden önce kullanımını daha pratik bir şekilde göstermemizi sağlayacak temel bir örnek tablo oluşturalım.



Aşağıda gösterilen örnek tabloyu ve örnek verileri göz önünde bulundurun:

CREATE TABLE çalışanları (
çalışan_id INT BİRİNCİL ANAHTAR AUTO_INCREMENT,
çalışan_adı VARCHAR(100),
departman_id INT
);


INSERT INTO çalışanlar (çalışan_adı, departman_id) DEĞERLER
('Phelps Dane', 101),
('Alana L', 102),
('E Johnson', 103),
('Daniel B', 104),
('Davis'i Kır', 105),
('Jessica Wilson', 106),
('Daniel Garcia', 107),
('Karen Martinez', 108),
('Anthony Robinson', 109),
('Sophia Clark', 110);

Bu bir tablo oluşturmalı ve örnek kayıtları tabloya eklemelidir.

Örnek 1: Temel Kullanım

Çalışanın adının Karen Martinez'e eşit olduğu eşleşen bir kaydı aramak için eşittir operatörünü kullanan aşağıdaki örnek sorguyu düşünün.

SEÇME *
ÇALIŞANLARDAN
WHERE çalışan_adı = 'Karen Martinez';

Verilen sorguda, “çalışanlar” tablosundaki “çalışan_adı” sütununun “Karen Martinez”e eşit olduğu tüm sütunları seçiyoruz.

Sonuçta ortaya çıkan çıktı aşağıdaki gibidir:

çalışan_id|çalışan_adı |departman_id|
----------+-------------+------------+
8|Karen Martinez| 108 |

Örnek 2: Büyük/Küçük Harfe Duyarlı Dize Karşılaştırması

Bu, veritabanı sistemine bağlı olsa da, çoğu veritabanı sistemindeki dize karşılaştırması varsayılan olarak büyük/küçük harfe duyarlı değildir.

Veritabanını büyük/küçük harfe duyarlı bir karşılaştırma yapmaya açıkça zorlamak için BINARY anahtar sözcüğünü aşağıdaki gibi kullanabilirsiniz:

SEÇME *
ÇALIŞANLARDAN
WHERE BINARY çalışan_adı = 'Karen martinez';

Bu durumda, sağlanan dize Martinez adında küçük M harfini içerdiğinden, veritabanı onu farklı bir dize olarak ele alacaktır. Bu nedenle sonuç alınamıyor.

Örnek 3: Joker Karakterlerin Kullanımı

Diğer bazı durumlarda joker karakterleri kullanarak dize eşitliği kontrolü yapmak isteyebiliriz. Bu, tek bir dize değişmezi yerine belirli bir formatla eşleşen dizelerle eşleşir.

Bu, veritabanı motorunu gerçekten yormadan aramalarda esneklik sağlamaya yardımcı olabilir.

Örneğin, '%' (herhangi bir karakter dizisiyle eşleşir) ve '_' (herhangi bir tek karakterle eşleşir) gibi joker karakterleri string equals ile birlikte kullanabiliriz.

Aşağıdaki gibi bir örneğe bakalım:

SEÇME *
ÇALIŞANLARDAN e
WHERE çalışan_adı LIKE 'A%';

Bu sorgu, adı “A” harfiyle başlayan tüm çalışanları getirir.

Örnek 4: Özel Karakterlerden Kaçış

Dizenin bir parçası olarak belirli karakterleri aramanız gereken bir durumda, bunları dize eşittir olarak kullanırken bunlardan kaçmanız gerekir.

Örneğin ters eğik çizgi veya tek tırnak gibi bir karakteri dizenin parçası olarak aramak istiyorsanız, bu karakterden aşağıdaki gibi kaçış yapmanız gerekir:

SEÇME *
ÜRÜNLERDEN
WHERE ürün_adı = 'Tatlı Elmalar';

Bu durumda, dize içindeki tek tırnak işaretinden kaçmak için ters eğik çizgi kullanırız.

Ters eğik çizgiden kaçınmak için çift ters eğik çizgiyi aşağıdaki gibi kullanabilirsiniz:

SEÇME *
ÜRÜNLERDEN
WHERE ürün_adı = 'Tatlı\\ Elmalar';

Bu, dize değişmezinde bir ters eğik çizgi içermelidir.

Çözüm

Bu derste, veritabanlarındaki en yaygın ve kullanışlı dize işlemlerinden biri olan dize eşitliği karşılaştırmasını öğrendik. Dizeleri karşılaştırmak için çeşitli operatörlerin sözdizimini ve kullanımını öğrendik.