Basit Sorgular Nasıl Yazılır
Yayınlanan: 2022-03-21SQL Veritabanı Nasıl Sorgulanır:
- Bir veritabanı yönetim uygulamanız olduğundan emin olun (ör. MySQL Workbench, Sequel Pro).
- Değilse, bir veritabanı yönetim uygulaması indirin ve veritabanınızı bağlamak için şirketinizle birlikte çalışın.
- Veritabanınızı ve hiyerarşisini anlayın.
- Tablolarınızda hangi alanların olduğunu öğrenin.
- İstediğiniz verileri çekmek için bir SQL sorgusu yazmaya başlayın.
SQL'i hiç duydunuz mu? Bunu veri analizi bağlamında duymuş olabilirsiniz, ancak bunun bir pazarlamacı olarak sizin için geçerli olacağını hiç düşünmediniz. Veya, “Bu, gelişmiş veri kullanıcıları için” diye düşünmüş olabilirsiniz. Bunu asla yapamam."
Eh, daha fazla yanılmış olamazsın! En başarılı pazarlamacılar veri odaklıdır ve veri odaklı olmanın en önemli parçalarından biri de veritabanlarından hızlı bir şekilde veri toplamaktır. SQL, tam da bunu yapmak için en popüler araçtır.
Şirketiniz verileri bir veritabanında zaten saklıyorsa, verilere erişmek için SQL öğrenmeniz gerekebilir. Ancak endişelenmeyin, başlamak için doğru yerdesiniz. Hemen atlayalım.
SQL'i Neden Kullanmalı?
SQL (genellikle “sequel” olarak telaffuz edilir) Structured Query Language anlamına gelir ve şirketlerin manipüle etmek istedikleri tonlarca veriye sahip olduklarında kullanılır. SQL'in güzelliği, verileri ilişkisel bir veritabanında depolayan bir şirkette çalışan herkesin onu kullanabilmesidir. (Ve şansınız, sizinki öyle.)
Örneğin, bir yazılım şirketinde çalışıyorsanız ve müşterilerinizin kullanım verilerini almak istiyorsanız, bunu SQL ile yapabilirsiniz. Müşteri satın alımlarıyla ilgili verileri olan bir e-ticaret şirketi için bir web sitesi geliştirmeye yardımcı oluyorsanız, hangi müşterilerin hangi ürünleri satın aldığını öğrenmek için SQL'i kullanabilirsiniz. Tabii ki, bunlar birçok olası uygulamadan sadece birkaçı.
Bunu şu şekilde düşünün: Excel'de çok büyük bir veri kümesini yalnızca bilgisayarınızın donması ve hatta kapanması için açtınız mı? SQL, aynı anda verilerinizin yalnızca belirli bölümlerine erişmenize izin verir, böylece tüm verileri bir CSV'ye indirmeniz, üzerinde değişiklik yapmanız ve muhtemelen Excel'i aşırı yüklemeniz gerekmez. Başka bir deyişle, SQL, Excel'de yapmaya alışık olabileceğiniz veri analiziyle ilgilenir.
Basit SQL Sorguları Nasıl Yazılır
Başlamadan önce, veritabanınızdan veri çekmenize izin verecek bir veritabanı yönetim uygulamanız olduğundan emin olun. Bazı seçenekler MySQL veya Sequel Pro'yu içerir.
Bu seçeneklerden birini indirerek başlayın, ardından şirketinizin BT departmanıyla veritabanınıza nasıl bağlanacağınız hakkında konuşun. Seçtiğiniz seçenek, ürününüzün arka ucuna bağlı olacaktır, bu nedenle doğru olanı seçtiğinizden emin olmak için ürün ekibinize danışın.
Veritabanınızın hiyerarşisini anlayın
Ardından, veritabanınıza ve hiyerarşisine alışmanız önemlidir. Birden fazla veri veritabanınız varsa, çalışmak istediğiniz verilerin konumuna odaklanmanız gerekir.
Örneğin, Amerika Birleşik Devletleri'ndeki insanlar hakkında birden fazla veri tabanıyla çalıştığımızı varsayalım. “VERİTABANLARINI GÖSTER;” sorgusunu girin. Sonuçlar, biri New England için olmak üzere, farklı konumlar için birkaç veritabanınız olduğunu gösterebilir.
Veritabanınız içinde, çalışmak istediğiniz verileri içeren farklı tablolara sahip olacaksınız. Yukarıdaki aynı örneği kullanarak, veritabanlarından birinde hangi bilgilerin yer aldığını bulmak istediğimizi varsayalım. “SHOW TABLES in NewEngland;” sorgusunu kullanırsak, New England'daki her eyalet için tablolarımız olduğunu görürüz: people_connecticut, people_maine, people_massachusetts, people_newhampshire, people_rhodeisland ve people_vermont.
Son olarak, tablolarda hangi alanların olduğunu bulmanız gerekir. Alanlar, veritabanınızdan çekebileceğiniz belirli veri parçalarıdır. Örneğin, birinin adresini almak istiyorsanız, alan adı yalnızca "adres" olmayabilir - adres_şehir, adres_durumu, adres_zip olarak ayrılabilir. Bunu anlamak için “insanlar_massachusetts'i tanımlayın;” sorgusunu kullanın. Bu, SQL kullanarak çekebileceğiniz tüm verilerin bir listesini sağlar.
New England örneğimizi kullanarak hiyerarşiyi hızlıca gözden geçirelim:
- Veritabanımız: NewEngland.
- Bu veritabanındaki tablolarımız şunlardır: people_connecticut, people_maine, people_massachusetts, people_newhampshire, people_rhodeisland ve people_vermont.
- people_massachusetts tablosundaki alanlarımız şunları içerir: address_city, address_state, address_zip, hair_color, age, first_name ve last_name.
Şimdi, NewEngland veritabanımızdan veri çekmek için bazı basit SQL sorguları yazalım.
Temel SQL Sorguları
SQL sorgusu yazmayı öğrenmek için aşağıdaki örneği kullanalım:
Alfabetik sıraya göre Massachusetts'te 2003 doğumlu kızıl saçlılar kimlerdir?
SEÇME
SELECT, grafiğinizde görüntülenmesini istediğiniz alanları seçer. Bu, veritabanınızdan çekmek istediğiniz belirli bilgi parçasıdır. Yukarıdaki örnekte, kriterlerin geri kalanına uyan kişileri bulmak istiyoruz.
İşte SQL sorgumuz:
SEÇME
ilk adı,
Soyadı
;
İTİBAREN
FROM, verileri çekmek istediğiniz tabloyu tam olarak belirtir. Önceki bölümde, New England'daki altı eyaletin her biri için altı tablo olduğunu öğrenmiştik: people_connecticut, people_maine, people_massachusetts, people_newhampshire, people_rhodeisland ve people_vermont. Özellikle Massachusetts'teki insanları aradığımız için, verileri o tablodan alacağız.
İşte SQL sorgumuz:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
;
NEREDE
WHERE, bir sorguyu daha spesifik olacak şekilde filtrelemenize olanak tanır. Örneğimizde, sorgumuzu yalnızca 2003 doğumlu kızıl saçlı kişileri içerecek şekilde filtrelemek istiyoruz. Kızıl saç filtresiyle başlayalım.
İşte SQL sorgumuz:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color=”kırmızı”
;
Massachusetts'teki tüm insanlara saç renkleriyle birlikte bakmak isteseydiniz, hair_color ilk SELECT ifadenizin bir parçası olabilirdi. Ancak yalnızca kızıl saçlı insanları görmek için filtrelemek istiyorsanız, bunu WHERE ifadesiyle yapabilirsiniz.
ARASINDA
Eşittir (=) yanı sıra, koşullu sorgular için kullanabileceğiniz başka bir operatör BETWEEN'dir. BETWEEN ifadesi, belirtilen minimum ve maksimum değerler arasında kalan değerler için doğrudur.
Bizim durumumuzda, 2003 gibi belirli bir yıla ait kayıtları çekmek için BETWEEN'i kullanabiliriz. İşte sorgu:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
;
VE
AND, WHERE ifadenize ek kriterler eklemenize olanak tanır. Unutmayın, 2003 doğumlu kişilere ek olarak kızıl saçlı kişilere göre filtreleme yapmak istiyoruz. NEREDE ifademiz kızıl saçlı kriteri tarafından ele alındığından, belirli bir doğum yılına göre de nasıl filtreleme yapabiliriz?
AND deyimi burada devreye girer. Bu durumda, AND deyimi bir tarih özelliğidir - ancak olması gerekmez. (Not: Doğru biçimde olduklarından emin olmak için ürün ekibinizle tarihlerinizin biçimini kontrol edin.)
İşte SQL sorgumuz:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color=”kırmızı”
VE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
;
VEYA
VEYA WHERE ifadesi ile de kullanılabilir. AND ile, sonuçlarda görünmesi için her iki koşulun da doğru olması gerekir (örneğin, saç rengi kırmızı olmalı ve 2003'te doğmuş olmalıdır). OR ile sonuçlarda görünmesi için her iki koşulun da doğru olması gerekir (örn. saç renginin kırmızı olması veya 2003 doğumlu olması gerekir).
Bir VEYA ifadesi çalışırken şöyle görünür:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color = 'kırmızı'
VEYA
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
;
OLUMSUZLUK
NOT, belirtilen koşulun doğru olmadığı değerleri görüntülemek için WHERE ifadesinde kullanılır. Kızıl saçlı tüm Massachusetts sakinlerini toplamak istersek , aşağıdaki sorguyu kullanabiliriz:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE DEĞİL
hair_color = 'kırmızı'
;
TARAFINDAN SİPARİŞ
Hesaplamalar ve organizasyon da bir sorgu içinde yapılabilir. İşte burada ORDER BY ve GROUP BY fonksiyonları devreye girer. İlk olarak ORDER BY ve ardından GROUP BY fonksiyonları ile SQL sorgularımıza bakacağız. Ardından, ikisi arasındaki farka kısaca bir göz atacağız.
ORDER BY yan tümcesi, SELECT deyiminde belirttiğiniz alanlardan herhangi birine göre sıralama yapmanızı sağlar. Bu durumda soyadına göre sıralayalım.
İşte SQL sorgumuz:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color = 'kırmızı'
VE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
TARAFINDAN SİPARİŞ
Soyadı
;
GRUP TARAFINDAN
GROUP BY, SİPARİŞ BY ile benzerdir, ancak benzerlikleri olan verileri toplar. Örneğin, verilerinizde yinelenenler varsa, alanlarınızdaki yinelenenlerin sayısını saymak için GROUP BY kullanabilirsiniz.
İşte SQL sorgunuz:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color = 'kırmızı'
VE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
GRUP TARAFINDAN
Soyadı
;
SİPARİŞ VS. GRUP TARAFINDAN
ORDER BY deyimi ile GROUP BY deyimi arasındaki farkı göstermek için, çok basit bir veri kümesine bakmak için kısaca Massachusetts örneğimizin dışına çıkalım. Aşağıda dört çalışanın kimlik numaraları ve isimlerinin bir listesi bulunmaktadır.
Bu listede ORDER BY deyimi kullanacak olsaydık, çalışanların isimleri alfabetik sıraya göre sıralanırdı. Sonuç şöyle görünecektir:
Bunun yerine bir GROUP BY ifadesi kullanacak olsaydık, çalışanlar ilk tabloda göründükleri sayıya göre sayılırdı. Peter'ın ilk tabloda iki kez göründüğüne dikkat edin, bu nedenle sonuç şöyle görünecektir:
Şimdiye kadar benimle? Pekala, Massachusetts'te 2003 doğumlu kızıl saçlı insanlar hakkında oluşturduğumuz SQL sorgusuna dönelim.
SINIR
Veritabanınızdaki veri miktarına bağlı olarak, sorgularınızın çalıştırılması uzun zaman alabilir. Bu, özellikle sorgunuzda bir hata yaptıysanız ve devam etmeden önce beklemeniz gerekiyorsa, sinir bozucu olabilir. Bir sorguyu test etmek istiyorsanız, LIMIT işlevi, alacağınız sonuç sayısını sınırlamanıza olanak tanır.
Örneğin, Massachusetts'te binlerce kızıl saçlı insan olduğundan şüpheleniyorsak, istediğimiz bilgiyi aldığımızdan emin olmak için sorgumuzu tam olarak çalıştırmadan önce LIMIT kullanarak sorgumuzu test etmek isteyebiliriz. Örneğin, sonucumuzda yalnızca ilk 100 kişiyi görmek istediğimizi varsayalım.
İşte SQL sorgumuz:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color = 'kırmızı'
VE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
TARAFINDAN SİPARİŞ
Soyadı
SINIR
100
;
TAKIN
SQL, ilişkisel bir veritabanından bilgi almaya ek olarak, bir veritabanının içeriğini değiştirmek için de kullanılabilir. Elbette, şirketinizin verilerinde değişiklik yapmak için izinlere ihtiyacınız olacak. Ancak, bir veritabanının içeriğini yönetmekten sorumlu olmanız durumunda, bilmeniz gereken bazı sorguları paylaşacağız.

Birincisi, veritabanınıza yeni değerler koymak için olan INSERT INTO ifadesidir. Massachusetts tablosuna yeni bir kişi eklemek istiyorsak, önce değiştirmek istediğimiz tablonun adını ve tablonun içinde eklemek istediğimiz alanları girerek bunu yapabiliriz. Ardından, eklemek istediğimiz her bir değerle DEĞER yazıyoruz.
Bu sorgu şöyle görünebilir:
TAKIN
people_massachusetts (address_city, address_state, address_zip, hair_color, age, first_name, last_name)
DEĞERLER
(Cambridge, Massachusetts, 02139, sarışın, 32, Jane, Doe)
;
Alternatif olarak, tablodaki her alana bir değer ekliyorsanız, alan belirtmeniz gerekmez. Değerler, sorguda listelendikleri sıraya göre sütunlara eklenecektir.
TAKIN
People_massachusetts
DEĞERLER
(Cambridge, Massachusetts, 02139, sarışın, 32, Jane, Doe)
;
Yalnızca belirli alanlara değer eklemek istiyorsanız, bu alanları belirtmelisiniz. Yalnızca ad, soyadı ve adres_durumu olan bir kayıt eklemek istediğimizi varsayalım - aşağıdaki sorguyu kullanabiliriz:
TAKIN
people_massachusetts (ad, soyadı, adres_durumu)
DEĞERLER
(Jane, Doe, Massachusetts)
;
GÜNCELLEME
Veritabanınızdaki mevcut değerleri farklı değerlerle değiştirmek isterseniz GÜNCELLEME kullanabilirsiniz. Örneğin, birisi gerçekten kahverengi saçlıyken veri tabanına kızıl saçlı olarak kaydedilirse? Bu kaydı UPDATE ve WHERE ifadeleri ile güncelleyebiliriz:
GÜNCELLEME
People_massachusetts
AYARLAMAK
hair_color = 'kahverengi'
NEREDE
first_name = 'Jane'
VE
last_name = 'Doe'
;
Veya tablonuzda "address_state" için bazı değerlerin "Massachusetts" ve diğerlerinin "MA" olarak göründüğü bir sorun olduğunu varsayalım. Tüm “MA” örneklerini “Massachusetts” olarak değiştirmek için basit bir sorgu kullanabilir ve birden çok kaydı aynı anda güncelleyebiliriz:
GÜNCELLEME
People_massachusetts
AYARLAMAK
address_state = 'Massachusetts'
NEREDE
adres_durumu = MA
;
UPDATE kullanırken dikkatli olun. Bir WHERE deyimi ile hangi kayıtların değiştirileceğini belirtmezseniz, tablodaki tüm değerleri değiştirirsiniz.
SİLMEK
DELETE, tablonuzdan kayıtları kaldırır. UPDATE ile olduğu gibi, tüm tablonuzu yanlışlıkla silmemek için bir WHERE ifadesi eklediğinizden emin olun.
Veya, people_massachusetts tablomuzda Maine'de yaşayan birkaç kayıt bulursak, address_state alanını hedefleyerek bu girişleri aşağıdaki gibi hızlı bir şekilde silebiliriz:
SİL
People_massachusetts
NEREDE
address_state = 'ana'
;
Bonus: Gelişmiş SQL İpuçları
Artık basit bir SQL sorgusu oluşturmayı öğrendiğinize göre, yıldız işaretiyle başlayarak sorgularınızı bir adım öteye taşımak için kullanabileceğiniz diğer bazı püf noktaları tartışalım.
* (yıldız)
SQL sorgunuza bir yıldız işareti eklediğinizde, sorguya tüm veri sütunlarını sonuçlarınıza dahil etmek istediğinizi söyler.
Kullanmakta olduğumuz Massachusetts örneğinde yalnızca iki sütun adımız vardı: ad ve soyadı. Ancak, sonuçlarımızda görmek istediğimiz 15 sütun verimiz olduğunu varsayalım - SELECT ifadesinde 15 sütun adının tümünü yazmak zahmetli olacaktır. Bunun yerine, bu sütunların adlarını bir yıldızla değiştirirseniz, sorgu tüm sütunları sonuçlara çekmesini bilecektir.
SQL sorgusu şöyle görünür:
SEÇME
*
İTİBAREN
People_massachusetts
NEREDE
hair_color=”kırmızı”
VE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
TARAFINDAN SİPARİŞ
Soyadı
SINIR
100
;
% (yüzde sembolü)
Yüzde sembolü bir joker karakterdir, yani bir veritabanı değerindeki bir veya daha fazla karakteri temsil edebilir. Joker karakterler, ortak karakterleri paylaşan kayıtları bulmak için yararlıdır. Verilerde bir model bulmak için genellikle LIKE operatörüyle birlikte kullanılırlar.
Örneğin, posta kodu “02” ile başlayan tablomuzdaki her kişinin adını almak istersek, şu sorguyu yazabiliriz:
SEÇME
ilk adı,
Soyadı
NEREDE
address_zip '%02' GİBİ
;
Burada “%”, “02”yi takip eden herhangi bir rakam grubunu ifade eder, bu nedenle bu sorgu, “02” ile başlayan address_zip değerine sahip herhangi bir kaydı açar.
SON 30 GÜN
SQL'i düzenli olarak kullanmaya başladığımda, son 30 gün içinde hangi kişilerin bir eylemde bulunduğunu veya belirli bir dizi kriteri yerine getirdiğini bulmaya çalışmakla ilgili ilk sorgularımdan birinin olduğunu gördüm.
Bugünün 1 Aralık 2021 olduğunu varsayalım. Doğum_tarihi aralığını 1 Kasım 2021 ile 30 Kasım 2021 arasında yaparak bu parametreleri oluşturabilirsiniz. Bu SQL sorgusu şöyle görünür:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color=”kırmızı”
VE
doğum_tarihi '2021-11-01' VE '2021-11-30' ARASINDA
TARAFINDAN SİPARİŞ
Soyadı
SINIR
100
;
Ancak bu, hangi tarihlerin son 30 günü kapsadığını düşünmeyi gerektirir ve bu sorguyu sürekli güncellemeniz gerekir.
Bunun yerine, tarihlerin hangi gün olursa olsun otomatik olarak son 30 güne yayılmasını sağlamak için bunu AND: doğum_tarihi >= (DATE_SUB(CURDATE(),INTERVAL 30)) altına yazabilirsiniz.
(Not: SQL sorgularınızı çekmek için kullandığınız yazılıma göre farklılık gösterebileceğinden, bu sözdizimini ürün ekibinizle iki kez kontrol etmek isteyeceksiniz.)
Bu nedenle tam SQL sorgunuz şöyle görünür:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
NEREDE
hair_color=”kırmızı”
VE
doğum_tarihi >= (DATE_ALT(CURDATE(),ARALIK 30))
TARAFINDAN SİPARİŞ
Soyadı
SINIR
100
;
SAYMAK
Bazı durumlarda, bir alan ölçütünün kaç kez göründüğünü saymak isteyebilirsiniz. Örneğin, Massachusetts'ten konuştuğunuz insanlar için farklı saç renklerinin kaç kez göründüğünü saymak istediğinizi varsayalım. Bu durumda, farklı saç rengine sahip kişilerin sayısını manuel olarak eklemeniz veya bu bilgileri Excel'e aktarmanız gerekmediği için COUNT kullanışlı olacaktır.
İşte bu SQL sorgusunun nasıl görüneceği:
SEÇME
saç rengi,
COUNT(saç rengi)
İTİBAREN
People_massachusetts
VE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
GRUP TARAFINDAN
saç rengi
;
ortalama
AVG, NULL değerleri (boş) hariç tutarak, sorgunuzun sonuçlarındaki bir özelliğin ortalamasını hesaplar. Örneğimizde, sorgumuzdaki Massachusetts sakinlerinin ortalama yaşını hesaplamak için AVG'yi kullanabiliriz.
SQL sorgumuz şöyle görünebilir:
SEÇME
AVG(yaş)
İTİBAREN
People_massachusetts
;
TOPLA
SUM, SQL'de yapabileceğiniz başka bir basit hesaplamadır. Sorgunuzdaki tüm özelliklerin toplam değerini hesaplar. Bu nedenle, Massachusetts'te yaşayanların tüm yaşlarını toplamak istersek, bu sorguyu kullanabiliriz:
SEÇME
SUM(yaş)
İTİBAREN
People_massachusetts
;
MIN ve MAX
MIN ve MAX, size belirli bir alanın en küçük ve en büyük değerlerini veren iki SQL işlevidir. Massachusetts tablomuzun en yaşlı ve en genç üyelerini belirlemek için kullanabiliriz:
Bu sorgu bize en eskisinin kaydını verecektir:
SEÇME
MIN(yaş)
İTİBAREN
People_massachusetts
;
Ve bu sorgu bize en eskisini verir:
SEÇME
MAKS(yaş)
İTİBAREN
People_massachusetts
;
KATILMAK
Bir SQL sorgusunda iki farklı tablodan bilgilere erişmeniz gereken bir zaman olabilir. SQL'de bunu yapmak için bir JOIN yan tümcesi kullanabilirsiniz.
(Excel formüllerine aşina olanlar için bu, Excel'de iki farklı sayfadaki bilgileri birleştirmeniz gerektiğinde DÜŞEYARA formülünü kullanmaya benzer.)
Diyelim ki tüm Massachusetts sakinlerinin kullanıcı kimliklerini ve doğum tarihlerini içeren bir tablomuz var. Ayrıca, Massachusetts'te ikamet edenlerin tüm kullanıcı kimliklerini ve saç renklerini içeren tamamen ayrı bir tablomuz var.
2003 doğumlu Massachusetts sakinlerinin saç rengini bulmak istiyorsak, her iki tablodan da bilgilere erişmemiz ve bunları birleştirmemiz gerekir. Bu, her iki tablonun da eşleşen bir sütunu paylaştığı için çalışır: kullanıcı kimlikleri.
Alanları iki farklı tablodan çağırdığımız için SELECT ifademiz de biraz değişecek. Sonuçlarımıza dahil etmek istediğimiz alanları listelemek yerine, hangi tablodan geldiklerini belirtmemiz gerekecek. (Not: Yıldız işlevi burada kullanışlı olabilir, bu nedenle sorgunuz sonuçlarınızda her iki tabloyu da içerir.)
Belirli bir tablodan alan belirtmek için tek yapmamız gereken tablonun adını alan adıyla birleştirmek. Örneğin, SELECT deyimimiz "tablo.alan" derdi - tablo adı ile alan adını ayıran nokta ile.
Bu durumda da birkaç şey varsayıyoruz:
- Massachusetts doğum tarihi tablosu şu alanları içerir: ad, soyadı, kullanıcı_kimliği, doğum tarihi
- Massachusetts saç rengi tablosu şu alanları içerir: user_id, hair_color
SQL sorgunuz bu nedenle şöyle görünür:
SEÇME
doğum tarihi_massachusetts.first_name,
doğum tarihi_massachusetts.last_name
İTİBAREN
doğumdate_massachusetts haircolor_massachusetts KULLANARAK KATIL (user_id)
NEREDE
hair_color=”kırmızı”
VE
doğum_tarihi '2003-01-01' VE '2003-12-31' ARASINDA
TARAFINDAN SİPARİŞ
Soyadı
;
Bu sorgu, hem birthdaydate_massachusetts tablosunda hem de haircolor_massachusetts tablosunda görünen “user_id” alanını kullanarak iki tabloyu birleştirir. Daha sonra 2003 doğumlu kızıl saçlı insanlardan oluşan bir tablo görebilirsiniz.
DAVA
Hangi koşulun karşılandığına bağlı olarak sorgunuza farklı sonuçlar döndürmek istediğinizde bir CASE ifadesi kullanın. Koşullar sırayla değerlendirilir. Bir koşul karşılandığında, karşılık gelen sonuç döndürülür ve aşağıdaki tüm koşullar atlanır.
Hiçbir koşulun karşılanmaması durumunda sona bir ELSE koşulu ekleyebilirsiniz. ELSE olmadan, hiçbir koşul karşılanmazsa sorgu NULL döndürür.
Sorguya dayalı bir dize döndürmek için CASE kullanımına bir örnek:
SEÇME
ilk adı,
Soyadı
İTİBAREN
People_massachusetts
DAVA
WHEN hair_color = 'kahverengi' SONRA 'Bu kişinin saçları kahverengi.'
WHEN hair_color = 'sarışın' SONRA 'Bu kişinin saçları sarı.'
WHEN hair_color = 'red' SONRA 'Bu kişinin saçı kızıl.'
ELSE 'Saç rengi bilinmiyor.'
SON
;
Pazarlamacıların Bilmesi Gereken Temel SQL Sorguları
Tebrikler. kendi SQL sorgularınızı çalıştırmaya hazırsınız! SQL ile yapabileceğiniz daha pek çok şey olsa da, umarım bu temel bilgilere genel bakışı faydalı bulmuşsunuzdur, böylece ellerinizi kirletebilirsiniz. Temel bilgilerin güçlü bir temeli ile SQL'de daha iyi gezinebilecek ve daha karmaşık örnekler üzerinde çalışabileceksiniz.
Editörün notu: Bu gönderi ilk olarak 25 Mart'ta yayınlandı ve anlaşılır olması için güncellendi.