0% found this document useful (0 votes)
2 views43 pages

sql

Uploaded by

Yekta Özkan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
2 views43 pages

sql

Uploaded by

Yekta Özkan
Copyright
© All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd

1. SQL nedir? 5. SQL sorgusu nedir?

SQL , Yapılandırılmış Sorgu Dili anlamına gelir ve ilişkisel Sorgu, bir veritabanındaki verilere erişmek veya verileri
veritabanı yönetim sistemleriyle (RDBMS) etkileşim için kullanılan değiştirmek için SQL dilinde yazılmış bir kod parçasıdır.
bir programlama dilidir. Bu, tablolardan veri alma, güncelleme,
ekleme ve silme işlemlerini içerir. SQL sorgularının iki türü vardır: veri alma sorguları ve veri
değiştirme sorguları. Birincisi, gerekli verileri almak için kullanılır
2. SQL lehçeleri nelerdir? Bazı örnekler verin. (bu, verileri sınırlandırmayı, gruplandırmayı, sıralamayı, birden
fazla tablodan veri çıkarmayı vb. içerir), ikincisi ise verileri
SQL'in hem ücretsiz hem de ücretli çeşitli sürümlerine SQL oluşturmak, eklemek, silmek, güncellemek ve yeniden
lehçeleri de denir. Tüm SQL lehçelerinin sözdizimi birbirine çok adlandırmak için kullanılır.
benzer ve yalnızca ek işlevsellik açısından önemsiz farklılıklar
gösterirler. Bazı örnekler arasında Microsoft SQL Server, 6. SQL alt sorgusu nedir?
PostgreSQL, MySQL, SQLite, T-SQL ve Oracle yer almaktadır.
SELECTAyrıca iç sorgu, başka bir sorgunun içine yerleştirilmiş
3. SQL'in başlıca uygulama alanları nelerdir? sorgu veya dış sorgu olarak da adlandırılır. Bir alt
sorgu , FROM, WHERE, , vb. gibi maddelerde yer alabilir. Bir
SQL kullanarak şunları yapabiliriz: alt UPDATEsorgunun içinde başka bir alt sorgu olması da
mümkündür. En içteki alt sorgu önce çalıştırılır ve sonucu içeren
 Veritabanında tablo oluşturma, silme ve güncelleme sorguya (veya alt sorguya) iletilir.
işlemleri
7. SQL birleştirmesi (join) nedir?
 Bir tablodaki verilere erişmek, verileri işlemek ve
değiştirmek. İki veya birden fazla tablodan kayıtları birleştirmek ve almak için
kullanılan bir ifade. SQL tabloları, bu tabloların sütunları
 Bir veya birden fazla tablodan gerekli bilgileri alıp
arasındaki ilişkiye göre birleştirilebilir. Daha fazla bilgi için SQL
özetlemek.
birleştirme eğitimimize ve SQL birleştirme mülakat
 Bir tabloya belirli satırları veya sütunları eklemek veya sorularına özel kılavuzumuza göz atın .
kaldırmak.
8. SQL yorumu nedir?
Yeni Başlayanlar İçin SQL Mülakat Soruları
Bir kod parçasının ne yaptığının insan tarafından okunabilir bir
açıklaması. SQL kod yorumları tek satırlık (çift tire ile başlayan --)
4. SQL ifadesi nedir? veya birden fazla satıra yayılan (şu şekilde: /*comment_text*/)
olabilir. SQL motoru çalıştırıldığında, kod yorumlarını yok sayar.
SQL komutu olarak da bilinir. SQL motoru tarafından geçerli bir SQL kod yorumlarının eklenmesinin amacı, kodu gelecekte
komut olarak yorumlanan ve buna göre yürütülen bir karakter okuyacak kişiler için daha anlaşılır hale getirmektir.
dizisidir. SQL ifadelerine örnek
olarak SELECT, CREATE, DELETE, DROP, REVOKEvb. verilebilir. 9. SQL takma adı nedir?
Belirli bir SQL sorgusu yürütülürken bir tabloya (veya tablodaki bir veya kullanıcı grubuna ayrıcalıklar vermek veya geri almak
sütuna) verilen geçici ad. Takma adlar, kodun okunabilirliğini için kullanılır.
artırmak ve kodu daha kompakt hale getirmek için kullanılır. Bir
takma ad şu ASanahtar kelimeyle tanımlanır:  İşlem Kontrol Dili (TCL) – veritabanındaki işlemleri
kontrol etmek için kullanılır.
SELECT col_1 AS column  Veri Sorgulama Dili (DQL) – Veritabanındaki veriler
üzerinde sorgular gerçekleştirerek gerekli bilgileri elde
FROM table_name; etmek için kullanılan dildir.

11. Yaygın olarak kullanılan bazı SQL komutlarına örnekler


TARAFINDAN DESTEKLENMEKTEDİR verin.

 DDL: , , , , ve CREATEALTER TABLEDROPTRUNCATEADD


Teknik SQL Mülakat Soruları
COLUMN

Şimdi de teknik SQL mülakat sorularına ve bunlara verilebilecek  DML: , , ve UPDATEDELETEINSERT


olası cevaplara geçelim.
 DCL: ve GRANTREVOKE
Teknik soruları yanıtlarken en iyi strateji, olabildiğince net
cevaplar vermektir. Aksi takdirde, ana konudan sapma girişimi  TCL: , , , ve COMMITSET
gibi görünebilir. Ayrıca, kendinizi daha az emin hissettiğiniz TRANSACTIONROLLBACKSAVEPOINT
konularda ek sorulara yol açabilir.
 DQL: –SELECT
Özetle, SQL, bir veritabanını birden fazla şekilde sorgulamaya
olanak tanır. Ayrıca, SQL, Python veya R gibi diğer programlama 12. Veritabanı yönetim sistemi (DBMS) nedir ve hangi
dilleriyle kolayca entegre olur, böylece onların birleşik gücünden DBMS türlerini biliyorsunuz?
yararlanabiliriz.
Veritabanı Yönetim Sistemi (DBMS), bir veritabanında depolanan
10. Hangi SQL komut türlerini biliyorsunuz? veriler üzerinde çeşitli işlemler gerçekleştirmek için kullanılan bir
yazılım paketidir; bu işlemler arasında verilere erişim,
 Veri Tanımlama Dili (DDL) – bir veritabanının yapısını güncelleme, düzenleme, ekleme ve silme yer alır. DBMS'lerin
tanımlamak ve değiştirmek için kullanılır. ilişkisel, hiyerarşik, ağ, grafik veya nesne yönelimli gibi çeşitli
türleri vardır. Bu türler, verilerin sistemde nasıl organize
 Veri İşleme Dili (DML) – bir veritabanındaki verilere edildiğine, yapılandırıldığına ve depolandığına bağlıdır.
erişmek, bunları işlemek ve değiştirmek için kullanılır.
13. RDBMS nedir? RDBMS'ye bazı örnekler verin.
 Veri Kontrol Dili (DCL) – veritabanındaki verilere
kullanıcı erişimini kontrol etmek ve belirli bir kullanıcıya SQL, İlişkisel Veritabanı Yönetim Sistemi anlamına gelir.
Birbirleriyle paylaşılan anahtarlar aracılığıyla ilişkili birden fazla
tabloda depolanan verilerle çalışmak için kullanılan en yaygın  FOREIGN KEY– İki veya daha fazla tablo arasında
veritabanı yönetim sistemi türüdür. SQL programlama dili, RDBMS paylaşılan anahtarlar sağlar.
ile etkileşim kurmak üzere tasarlanmıştır. MySQL, PostgreSQL,
Oracle, MariaDB vb. RDBMS'lere örnek olarak verilebilir. 18. Ne tür birleştirme yöntemlerini biliyorsunuz?

14. SQL'de tablolar ve alanlar nelerdir?  (INNER) JOIN– Yalnızca her iki (veya tüm) tabloda
tanımlanmış bir birleştirme koşulunu sağlayan kayıtları
Tablo, satır ve sütunlar halinde tablo şeklinde saklanan, birbiriyle döndürür. Bu, varsayılan bir SQL birleştirmesidir.
ilişkili verilerin düzenlenmiş bir kümesidir. Alan ise bir tablonun
sütunu için kullanılan başka bir terimdir.  LEFT (OUTER) JOIN– Sol tablodaki tüm kayıtları ve sağ
tablodaki tanımlanmış bir birleştirme koşulunu sağlayan
15. Hangi SQL alt sorgu türlerini biliyorsunuz? kayıtları döndürür.

 Tek satır – en fazla bir satır döndürür.  RIGHT (OUTER) JOIN– Sağdaki tablodaki tüm kayıtları ve
soldaki tablodaki tanımlanmış bir birleştirme koşulunu
 Çok satırlı – en az iki satır döndürür. sağlayan kayıtları döndürür.
 Çok sütunlu – en az iki sütun döndürür.  FULL (OUTER) JOIN– Her iki (veya tüm) tablodaki tüm
kayıtları döndürür. Sol ve sağ birleştirmelerin bir
 İlişkili – dış sorgudaki bilgilerle bağlantılı bir alt sorgu.
kombinasyonu olarak düşünülebilir.
 İç içe geçmiş – bir alt sorgunun içinde başka bir alt sorgu.
Not : PostgreSQL, SQL Server, Oracle ve MySQL 8.0 ve üzeri
16. Kısıtlama nedir ve neden kısıtlamalar kullanılır? sürümler tarafından desteklenmektedir, ancak MySQL bunu
yalnızca kalıplar aracılığıyla sağlar; SQLite ise bunu desteklemez ,
Bir tablonun her sütununa girilebilecek veri türünü tanımlayan bir bu da ile birlikte kullanılarak taklit edilebilir . FULL OUTER
dizi koşul. Kısıtlamalar, tablodaki veri bütünlüğünü sağlar ve JOINUNIONRIGHT JOINLEFT JOINUNION
istenmeyen işlemleri engeller.
19. SQL'de birincil anahtar nedir?
17. Hangi SQL kısıtlamalarını biliyorsunuz?
Bir tablonun, PRIMARY KEYo sütunda benzersiz ve boş olmayan
 DEFAULT– bir sütun için varsayılan bir değer sağlar. değerler olmasını sağlamak için kısıtlama uygulanan bir sütunu
(veya birden fazla sütunu). Başka bir deyişle, birincil
 UNIQUE– yalnızca benzersiz değerlere izin verir. anahtarNOT NULL , ve kısıtlamalarının birleşimidir UNIQUE.
Birincil anahtar, tablonun her kaydını benzersiz bir şekilde
 NOT NULL– yalnızca boş olmayan değerlere izin verir. tanımlar. Her tablo en fazla bir P tanımlayabilir (bu bileşik
olabilir). Bir P'nin kullanılması şiddetle tavsiye edilir, ancak tüm
 PRIMARY KEY– yalnızca benzersiz ve kesinlikle boş arama motorları tarafından kesinlikle zorunlu değ[Link]
olmayan değerlere ( NOT NULLve UNIQUE) izin verir. KEYPRIMARY KEY
20. SQL'de benzersiz anahtar nedir? göre veri araması yapar. Bir tabloda yalnızca bir
kümelenmiş indeks olabilir.
Tablonun, UNIQUEo sütunda benzersiz değerler bulunmasını
sağlamak amacıyla kısıtlama uygulanan bir sütunu (veya birden  Kümelenmemiş indeks – tablo kayıtlarının sırasını,
fazla sütunu), olası NULLtek değer de dahil olmak üzere. diskteki gerçek verilerin fiziksel sırasıyla eşleşmeyecek
şekilde korur. Bu, verilerin bir yerde, kümelenmemiş
Not : indeksin ise başka bir yerde saklandığı anlamına gelir. Bir
tabloda birden fazla kümelenmemiş indeks bulunabilir.
 SQL Server : NULLFiltrelenmiş bir dizin kullanmadığınız
sürece yalnızca bir tanesine izin verilir. 24. Şema nedir?

 PostgreSQL / Oracle / MySQL : Birden fazlaNULL s'ye izin Veritabanı şemaları, tablolar, saklı prosedürler, indeksler,
verilir çünkü NULL <> NULL. fonksiyonlar ve tetikleyiciler gibi veritabanı yapısal öğelerinin bir
koleksiyonudur. Genel veritabanı mimarisini gösterir,
21. SQL'de yabancı anahtar nedir? veritabanının çeşitli nesneleri arasındaki ilişkileri belirtir ve bunlar
için farklı erişim izinlerini tanımlar. Daha derinlemesine bir anlayış
Bir tablonun, bu sütunu başka bir tablodaki (veya birden fazla için veritabanı şema kılavuzumuzu okuyun.
tablodaki) birincil anahtara bağlamak için uygulanan FOREIGN
KEY(veya UNIQUEanahtar) kısıtlamasına sahip sütunudur. Yabancı 25. SQL operatörü nedir?
anahtarların amacı, bir veritabanının çeşitli tablolarını birbirine
bağlı tutmaktır. SQL sorgularında belirli bir işlemi gerçekleştirmek için kullanılan
ayrılmış bir karakter, karakter kombinasyonu veya anahtar
22. SQL indeksi nedir? kelime. SQL operatörleri genellikle WHEREverileri filtrelemek için
bir koşul (veya koşullar) belirlemek amacıyla `OR` yan tümcesiyle
Veritabanı tablosuyla ilgili özel bir veri yapısıdır ve önemli birlikte kullanılır.
bölümlerini saklamak, daha hızlı veri arama ve alma işlemlerini
sağlamak için kullanılır. İndeksler, özellikle büyük 26. Hangi SQL operatörlerini biliyorsunuz?
veritabanlarında sorgu performansını önemli ölçüde artırdıkları
için oldukça etkilidir.  Aritmetik ( +, -, *, /, vb.)

23. Ne tür indeksler biliyorsunuz?  Karşılaştırma ( >, <, =, >=, vb.)

 Benzersiz indeks – bir tablo sütununda yinelenen  Bileşik ( +=, -=, *=, /=, vb.)
kayıtlara izin vermez ve bu nedenle veri bütünlüğünün
korunmasına yardımcı olur.  Mantıksal ( AND, OR, NOT, BETWEEN, vb.)

 Kümelenmiş indeks – bir veritabanı tablosunun  Dize ( %, _, +, ^, vb.)


kayıtlarının fiziksel sırasını tanımlar ve anahtar değerlerine
 ( UNION, UNION ALL, INTERSECT, SET col_1 = value_1, col_2 = value_2
ve MINUS(veya )) kümesini oluş[Link]

27. Madde nedir? WHERE condition;


İstenilen sonucu elde etmek için verileri filtrelemek amacıyla bir
SQL sorgusuna uygulanan koşul. Bazı örnekler TARAFINDAN DESTEKLENMEKTEDİR
şunlardır WHERE: LIMIT, HAVING, , LIKE, AND, OR, ORDER BYvb.
31. Veritabanından tablo nasıl silinir?
28. SELECT sorgusuyla birlikte kullanılan yaygın
ifadelerden bazıları nelerdir?
Bu ifadeyi kullanarak DROP TABLE. Sözdizimi şu şekildedir: DROP
TABLE table_name;.
En yaygın olanları FROM, GROUP BY, JOIN, WHERE, ORDER
BY, LIMIT, ve ' dir HAVING. 32. Bir tablodaki kayıt sayısını nasıl bulabilirim?
29. SQL'de tablo nasıl oluşturulur?
COUNT()Toplama fonksiyonunu, argüman olarak yıldız işareti (*)
geçirerek kullanma : SELECT COUNT(*) FROM table_name;.
Bu ifadeyi kullanarak CREATE TABLE, örneğin önceden
tanımlanmış veri tiplerine sahip üç sütunlu bir tablo oluşturmak 33. Bir tablodaki kayıtlar nasıl sıralanır?
için aşağıdaki sözdizimini kullanırız:
Şu ifadeyi kullanarak ORDER BY:
CREATE TABLE table_name (col_1 datatype,
SELECT * FROM table_name
col_2 datatype,
ORDER BY col_1;
col_3 datatype);
TARAFINDAN DESTEKLENMEKTEDİR
TARAFINDAN DESTEKLENMEKTEDİR
İstediğimiz sıralama düzenini azalan olarak belirtebiliriz DESC;
aksi takdirde varsayılan olarak artan sıralama olacaktır. Ayrıca,
30. Bir tablo nasıl güncellenir?
birden fazla sütuna göre sıralama yapabilir ve her biri için ayrı
ayrı artan veya azalan sıralama belirtebiliriz. Örneğin:
UPDATE ifadesini kullanarak . Sözdizimi şu şekildedir:

SELECT * FROM table_name


UPDATE table_name

ORDER BY col_1 DESC, col_3, col_6 DESC;


TARAFINDAN DESTEKLENMEKTEDİR 37. İlişkiler nedir? Bazı örnekler verin.

İlişkiler, varlıklar arasındaki bağlantılar ve korelasyonlardır;


34. Bir tablodaki tüm sütunları nasıl seçebilirim?
temelde bir veritabanının iki veya daha fazla tablosunun
birbirleriyle nasıl ilişkili olduğunu ifade eder. Örneğin, aynı
İfadeyle birlikte yıldız işareti ( *) kullanılır . Sözdizimi şu
müşterinin kimlik numarasını hem satış verileri tablosunda hem
şekildedir: .SELECTSELECT * FROM table_name;
de müşteri tablosunda bulabiliriz.
35. İki tablodan ortak kayıtlar nasıl seçilir?
38. NULL değeri nedir? Sıfırdan veya boşluktan farkı
nedir?
Şu ifadeyi kullanarak INTERSECT:
Bir NULLdeğer, tablonun belirli bir hücresi için veri bulunmadığını
SELECT col1, col2 FROM table_1 gösterir. Örneğin, sıfır geçerli bir sayısal değerdir ve boş bir dize,
sıfır uzunlukta geçerli bir dizedir.
INTERSECT 39. SQL ve NoSQL arasındaki fark nedir?

SELECT col1, col2 FROM table_2; SQL veritabanları ilişkisel, yapılandırılmış ve önceden tanımlanmış
şemalara sahip tablolar kullanırken, NoSQL veritabanları ilişkisel
olmayan, şemasız ve yapılandırılmamış veya yarı yapılandırılmış
TARAFINDAN DESTEKLENMEKTEDİR verileri işlemek üzere tasarlanmıştır.

40. SQL veritabanlarıyla çalışırken karşılaşılan yaygın


Not : Aynı sayıda sütun ve uyumlu türler gerektirir. INTERSECT
zorluklardan bazıları nelerdir?
36. DISTINCT ifadesi nedir ve nasıl kullanılır?
Karşılaşılan zorluklar arasında büyük veri kümeleri için
Bu ifade , bir tablonun bir sütunundaki yinelenen değerleri performans ayarlaması, indeksleme stratejilerinin yönetimi,
filtrelemek ve yalnızca benzersiz değerleri döndürmek için kısıtlamalarla veri bütünlüğünün sağlanması, eşzamanlı işlemlerin
kullanılan ifadeyle birlikte kullanılır . Sözdizimi şu ele alınması ve sorgu yürütmesinin optimize edilmesi yer
şekildedir:SELECT almaktadır.

Orta Seviye SQL Mülakat Soruları


SELECT DISTINCT col_1

Bu bölümde, mülakatçınızdan ne bekleyeceğinizi bilmeniz için en


FROM table_name; popüler orta seviye SQL sorularına ve cevaplarına göz atacağız.

TARAFINDAN DESTEKLENMEKTEDİR 41. SQL'de fonksiyon nedir?


Bir veritabanı nesnesi, belirli bir görev için sıklıkla kullanılan bir  UCASE()(diğer SQL lehçelerinde – UPPER()) – büyük harfe
dizi SQL ifadesini temsil eder. Bir fonksiyon, bazı girdi dönüştürülmüş bir dize döndürür
parametrelerini alır, bunlar üzerinde hesaplamalar veya diğer
manipülasyonlar yapar ve sonucu döndürür. Fonksiyonlar, kod  LCASE()(diğer SQL lehçelerinde – LOWER()) – küçük harfe
okunabilirliğini artırmaya ve aynı kod parçacıklarının tekrarını dönüştürülmüş bir dize döndürür.
önlemeye yardımcı olur.
 INITCAP() – Başlık büyük harf formatına dönüştürülmüş bir
42. Hangi SQL fonksiyon türlerini biliyorsunuz? dize döndürür (yani, dizenin her kelimesi büyük harfle
başlar)
 Toplama fonksiyonları , bir tablonun belirtilen
sütunlarındaki birden fazla, genellikle gruplandırılmış kayıt  MID()(diğer SQL lehçelerinde – SUBSTR()) – bir dizeden bir
üzerinde çalışır ve tek bir değer (genellikle grup bazında) alt dize çıkarır
döndürür.
 ROUND()– Belirtilen ondalık basamak sayısına yuvarlanmış
 Skalar fonksiyonlar – her bir değer üzerinde ayrı ayrı sayısal değeri döndürür.
çalışır ve tek bir değer döndürür.
 NOW()– geçerli tarih ve saati döndürür
Öte yandan, SQL fonksiyonları yerleşik (sistem tarafından
tanımlanmış) veya kullanıcı tanımlı (kullanıcının özel ihtiyaçları 45. SQL'de durum manipülasyonu fonksiyonları nelerdir?
için oluşturduğu) olabilir.
Büyük/küçük harf değiştirme fonksiyonları, karakter
43. Hangi SQL toplama fonksiyonlarını biliyorsunuz? fonksiyonlarının bir alt kümesini temsil eder ve metin verilerinin
büyük/küçük harf durumunu değiştirmek için kullanılır. Bu
 AVG()– ortalama değeri döndürür fonksiyonlarla verileri büyük harf, küçük harf veya başlık harfi
formatına dönüştürebiliriz.
 SUM()– değerlerin toplamını döndürür
 UCASE()(diğer SQL lehçelerinde – UPPER() ) – büyük harfe
 MIN()– minimum değeri döndürür dönüştürülmüş bir dize döndürür

 MAX()– maksimum değeri döndürür  LCASE()(diğer SQL lehçelerinde – LOWER()) – küçük harfe
dönüştürülmüş bir dize döndürür.
 COUNT()– Boş değerler içeren satırlar da dahil olmak üzere
satır sayısını döndürür.  INITCAP()– Diziyi baş harfleri büyük olacak şekilde (yani,
dizinin her kelimesi büyük harfle başlayacak şekilde)
44. Hangi SQL skalar fonksiyonlarını biliyorsunuz? dönüştürür.

 LEN()(Diğer SQL lehçelerinde – LENGTH()) – boşluklar dahil 46. SQL'de karakter işleme fonksiyonları nelerdir?
olmak üzere bir dizenin uzunluğunu döndürür.
Karakter işleme fonksiyonları, karakter fonksiyonlarının bir alt kullanılan ve döngüler, koşullar ve istisna işleme gibi prosedürel
kümesini temsil eder ve metin verilerini değiştirmek için programlama yapılarını içeren, karmaşık iş mantığının veritabanı
kullanılırlar. içinde uygulanmasına olanak tanıyan bir SQL uzantısıdır. Oracle
bilginiz hakkında soru sorulacağını biliyorsanız, en iyi 20
 CONCAT()– İki veya daha fazla dize değerini birleştirir ve PL/SQL mülakat sorusu ve cevabı başlıklı başka bir makalemiz
ikinci dizeyi birincinin sonuna ekler. de mevcuttur; bu makale iyi bir özet niteliğindedir.

 SUBSTRING()/ SUBSTR() – Belirtilen başlangıç ve bitiş 49. LEFT JOIN ve LEFT OUTER JOIN arasındaki fark nedir?
noktalarını karşılayan bir dizenin bir bölümünü döndürür.
LEFT JOIN ve LEFT OUTER JOIN arasında hiçbir fark yoktur .
 LENGTH()(Diğer SQL lehçelerinde – LEN()) – boşluklar Birbirlerinin yerine kullanılabilirler. SQL, OUTERanahtar
dahil olmak üzere bir dizenin uzunluğunu döndürür. kelimesinin isteğe bağlı olmasına izin verir, bu nedenle LEFT
JOINbasitçe bir kısaltmadır LEFT OUTER JOIN. Her ikisi de sol
 REPLACE()– Belirtilen dizedeki tanımlanmış bir alt dizenin tablodaki tüm kayıtları ve sağ tablodaki eşleşen kayıtları
tüm geçişlerini başka bir alt dizeyle değiştirir. döndürür.
 INSTR()– Belirtilen dize içindeki tanımlanmış bir alt dizenin 50. SQL'de indeksleme nedir ve performansı nasıl artırır?
sayısal konumunu döndürür.
İndeksleme, veritabanının satırları daha verimli bir şekilde
 LPAD()ve RPAD()– sağa hizalanmış/sola hizalanmış değer
bulmasını sağlayarak veri erişimini hızlandıran özel bir veri yapısı
için sol taraftaki/sağ taraftaki karakterin dolgu boşluğunu
oluşturur. Optimize edilmiş bir arama tablosu gibi çalışır ve tam
döndürür.
tablo taramalarına olan ihtiyacı azaltır. Bununla birlikte, aşırı
indeksleme, indeks bakımına duyulan ihtiyaç nedeniyle ekleme,
 TRIM()– Belirtilen karakter dizisinin solundan, sağından
güncelleme ve silme işlemlerini yavaşlatabilir.
veya her iki ucundan da tanımlanan tüm karakterleri ve
boşlukları kaldırır.
51. Saklı prosedür nedir ve fonksiyondan farkı nedir?
47. Yerel ve küresel değişkenler arasındaki fark nedir?
Saklı prosedür, bir görevi yerine getirmek için bir birim olarak
yürütülen önceden derlenmiş bir SQL ifadeleri kümesidir.
Yerel değişkenlere yalnızca tanımlandıkları fonksiyonun içinde
Prosedürler veri veya şema nesnelerini değiştirebilir, işlemleri
erişilebilir. Buna karşılık, herhangi bir fonksiyonun dışında
yönetebilir ve sıfır veya daha fazla sonuç kümesi döndürebilir.
tanımlanan genel değişkenler, sabit bellek yapılarında saklanır ve
Fonksiyonlar ise genellikle SQL ifadelerinde kullanılır, bir değer
programın tamamında kullanılabilir.
(skaler veya tablo değerli) döndürmelidir ve birçok veritabanında
48. SQL ve PL/SQL arasındaki fark nedir? yan etkilerden kısıtlanmıştır. Tam davranış veritabanına göre
farklılık gösterir (örneğin, T-SQL'de skaler ve tablo değerli
SQL, öncelikle veri işleme ve alma için kullanılan, ilişkisel fonksiyonlar vardır; PostgreSQL fonksiyonlar ve prosedürler
veritabanlarını sorgulamak ve yönetmek için standart bir dildir. arasında ayrım yapar).
PL/SQL (Procedural Language/SQL), Oracle veritabanlarında
52. ORDER BY ifadesinin varsayılan veri sıralaması nedir 55. SQL'de birincil anahtar ile benzersiz anahtar
ve bunu nasıl değiştirirsiniz? arasındaki fark nedir?

Varsayılan sıralama artandır (NULL değerler önce/sonra Her iki anahtar türü de bir tablonun sütununda benzersiz değerler
veritabanına göre değişir). Sütun başına ASC/DESC anahtar sağlarken, birincisi tablonun her kaydını benzersiz şekilde
kelimesini aşağıdaki gibi kullanın: tanımlar, ikincisi ise o sütunda yinelenen kayıtları önler.

SELECT * FROM table_name 56. SQL'de bileşik birincil anahtar nedir?

Bir tablonun birden fazla sütuna dayalı birincil anahtarı.


ORDER BY col_1 DESC;
57. Bir SELECT sorgusunda SQL maddelerinin tipik
sıralaması nedir?
TARAFINDAN DESTEKLENMEKTEDİR
SELECT– FROM– JOIN– ON– WHERE– GROUP BY– HAVING–ORDER
53. SQL küme operatörleri nelerdir? BYLIMIT

58. Yorumlayıcı, SELECT sorgusundaki ortak ifadeleri


 UNION– İki sorgudan en az birinin elde ettiği kayıtları
hangi sırayla yürütür?
döndürür (yinelenenler hariç).

 UNION ALL– İki sorgudan en az birinin elde ettiği kayıtları İşte SQL sorgularının yürütülme sırası :
(yinelenenler dahil) döndürür.
FROM→ ON→ JOIN→ WHERE→ GROUP BY→ HAVING→ SELECT→
 INTERSECT– Her iki sorgu tarafından elde edilen kayıtları ORDER BY→LIMIT/OFFSET (FETCH)
döndürür.
59. SQL'de görünüm (view) nedir?
 EXCEPT( MINUSMySQL ve Oracle'da bu şekilde adlandırılır)
– yalnızca ilk sorguyla elde edilen kayıtları döndürür, ikinci Bir veya daha fazla veritabanı tablosundan (veya diğer
sorguyla elde edilenleri döndürmez. görünümlerden) alınan verilerin bir alt kümesini içeren sanal bir
tablo. Standart görünümler veri depolamaz; somutlaştırılmış
54. Desen eşleştirme için sorguda hangi operatör görünümler ise depolar. Görünümler sorguları basitleştirebilir,
kullanılır? mantığı kapsayabilir ve ayrıcalıklarla birlikte sütunları/satırları
kısıtlayabilir. Birden fazla tablodan verileri
Operatör , joker karakterlerle LIKEbirlikte kullanılır . Joker birleştirebilir/toplayabilirler.
karakter, sıfır dahil olmak üzere herhangi bir sayıda karakteri
temsil ederken, joker karakter yalnızca bir karakteri temsil eder. 60. SQL'de bir görünümden yola çıkarak başka bir
%_%_ görünüm oluşturabilir miyiz?
Evet. Bu aynı zamanda iç içe görünümler olarak da bilinir. Ancak, 65. SQL'de denormalizasyon nedir?
kodun okunması ve hata ayıklanması zorlaştığı için birden fazla
görünümü iç içe yerleştirmekten kaçınmalıyız. Denormalizasyon, normalizasyonun tam tersi bir işlemdir: veri
fazlalığını artırır ve birden fazla tablodan gelen verileri birleştirir.
61. Orijinal tablo silindiğinde yine de bir görünüm Denormalizasyon, karmaşık birleştirmelerden kaçınmaya ve sorgu
kullanabilir miyiz? çalışma süresini azaltmaya yardımcı olduğu için, okuma
işlemlerinin yazma işlemlerinden daha önemli olduğu durumlarda
Hayır. Temel tablo silindikten sonra o tabloya dayalı tüm veritabanı altyapısının performansını optimize eder.
görünümler geçersiz hale gelir. Yine de böyle bir görünümü
kullanmaya çalışırsak, bir hata mesajı alırız. 66. Bir sütunu yeniden adlandırmak ile ona takma ad
vermek arasındaki fark nedir?
62. Hangi SQL ilişki türlerini biliyorsunuz?
Bir sütunu yeniden adlandırmak, orijinal tablodaki gerçek adını
 Bire bir ilişki – bir tablodaki her kayıt, başka bir tablodaki kalıcı olarak değiştirmek anlamına gelir. Bir sütuna takma ad
yalnızca bir kayda karşılık gelir. vermek ise, SQL sorgusu yürütülürken ona geçici bir ad vermek
ve böylece kodu daha okunabilir ve derli toplu hale getirmektir.
 Bire çok ilişki – bir tablodaki her kayıt, başka bir
tablodaki birden fazla kayda karşılık gelir. 67. İç içe geçmiş ve ilişkili alt sorgular arasındaki fark
nedir?
 Çoktan çoğa ilişki – her iki tablodaki her kayıt, başka bir
tablodaki birden fazla kayda karşılık gelir.
İlişkili alt sorgu, daha büyük (dış) bir sorgunun içine yerleştirilmiş
63. Bir BOOLEAN veri alanının olası değerleri nelerdir? ve yürütülmesi için dış sorgudaki değerlere başvuran bir iç
sorgudur; yani ilişkili alt sorgu, dış sorguya bağlıdır. Buna karşılık,
PostgreSQL gibi bazı SQL lehçelerinde , BOOLEAN veri tipi açıkça ilişkisiz alt sorgu, dış sorgudaki verilere bağlı değildir ve ondan
bulunur ve , , veya değerlerini alır . Microsoft SQL Server gibi bağımsız olarak çalıştırılabilir.
diğer lehçelerde ise BIT veri tipi, Boolean değerlerini
tamsayı (true) veya (false) olarak saklamak için 68. Kümelenmiş ve kümelenmemiş indeksler arasındaki
kullanılır .TRUEFALSENULL10 fark nedir?

64. SQL'de normalizasyon nedir? Kümelenmiş bir indeks, bir tablonun kayıtlarının fiziksel
sırasını tanımlar ve anahtar değerlerine göre veri araması
Normalizasyon, veri fazlalığını, bağımlılığını, tekrarını ve yaparken, kümelenmemiş bir indeks, diskteki gerçek verilerin
tutarsızlığını azaltmak amacıyla verileri düzenlemeyi ve yeniden fiziksel sırasıyla eşleşmeyen kayıtların sırasını korur . Bir
yapılandırmayı içeren bir veritabanı tasarım sürecidir. Bu, veri tabloda yalnızca bir kümelenmiş indeks olabilir, ancak
bütünlüğünün artmasına, veritabanında daha fazla tabloya, daha birçok kümelenmemiş indeks olabilir.
verimli veri erişimine ve güvenlik kontrolüne ve daha fazla sorgu
esnekliğine yol açar. 69. CASE() fonksiyonu nedir?
SQL'de if-then-else mantığını uygulamanın yolu . Bu fonksiyon , hızlıdır ancak genellikle geri alınamaz ve yabancı anahtar ile
maddelerdeki sağlanan koşulları sırayla kontrol eder ve ilk koşul referans verilen tablolarda kullanılamaz.
sağlandığında ilgili maddeden gelen değeri döndürür .
Koşullardan hiçbiri sağlanmazsa, fonksiyon, sağlanan maddeden 71. DROP ve TRUNCATE ifadeleri arasındaki fark nedir?
gelen değeri döndürür, aksi takdirde boş değer döndürür .
Sözdizimi şu şekildedir:WHENTHENELSENULL DROPVeritabanından bir tabloyu tamamen siler; tablo yapısını,
ilgili tüm kısıtlamaları, diğer tablolarla olan ilişkileri ve erişim
CASE ayrıcalıklarını da siler. TRUNCATETablo yapısını ve kısıtlamalarını
etkilemeden tablodaki tüm satırları siler. Her ikisi de DDL'dir.
Tabloyu ve meta verilerini kaldırır; tüm satırları siler ancak tablo
WHEN condition_1 THEN value_1 tanımını korur. Performans ve işlem davranışı veritabanı
motoruna bağlıdır. DROPTRUNCATE

WHEN condition_2 THEN value_2 72. HAVING ve WHERE ifadeleri arasındaki fark nedir?

İlk yöntem, gruplandırıldıktan sonra toplanmış veriler üzerinde


WHEN condition_3 THEN value_3 çalışırken, ikinci yöntem her satırı ayrı ayrı kontrol eder. Her iki
ifade de bir sorguda mevcutsa, şu sırayla
görünürler: WHERE– GROUP BY– HAVING. SQL motoru da bunları
... aynı sırayla yorumlar.

73. Bir tabloya nasıl kayıt eklenir?


ELSE value
INSERT INTO Bu ifadeyi ile birlikte kullanmanın VALUESsözdizimi
şu şekildedir:
END;

INSERT INTO table_name


TARAFINDAN DESTEKLENMEKTEDİR

VALUES (value_1, value_2, ...);


70. DELETE ve TRUNCATE ifadeleri arasındaki fark nedir?

DELETE`return`, bir tablodan bir veya daha fazla satırı, `return` TARAFINDAN DESTEKLENMEKTEDİR
yan tümcesindeki bir koşula bağlı olarak kaldırmak için kullanılan
bir DML (Veri İşleme Dili) komutudur WHERE. Yalnızca bir işlem 74. Bir tablodan bir kaydı nasıl silersiniz?
içine alındığında (`return` aracılığıyla) geri alınabilir ROLLBACK.
Bu ifadeyi kullanarak DELETE. Sözdizimi şu şekildedir:
TRUNCATE`release`, sayfaları serbest bırakarak bir tablodaki tüm
satırları silen bir DDL (Veri Tanımlama Dili) komutudur. Daha
DELETE FROM table_name ALTER TABLEBu ifadeyi ile birlikte kullanmanın DROP
COLUMNsözdizimi şu şekildedir:

WHERE condition; ALTER TABLE table_name

TARAFINDAN DESTEKLENMEKTEDİR DROP COLUMN column_name;

Bu şekilde, belirtilen koşulu sağlayan birden fazla kaydı da TARAFINDAN DESTEKLENMEKTEDİR


silebiliriz.

75. Bir tabloya nasıl sütun eklenir? 78. Bir tablodaki tüm çift veya tüm tek kayıtları nasıl
seçersiniz?
ALTER TABLEBu ifadeyi ile birlikte kullanmanın ADDsözdizimi şu
şekildedir: 2'ye bölmenin kalanını kontrol ederek. Bazı SQL sürümlerinde
(örneğin, PostgreSQL ve MySQL) fonksiyonu, MODdiğerlerinde
ALTER TABLE table_name (Microsoft SQL Server ve SQLite) ise modül operatörünü ( %)
kullanırız. Çift sayıların tümünü seçmek için şunu kullanın MOD:

ADD column_name datatype;


SELECT * FROM table_name

TARAFINDAN DESTEKLENMEKTEDİR
WHERE MOD(ID_column, 2) = 0;

76. Bir tablonun sütununu nasıl yeniden adlandırırsınız?


TARAFINDAN DESTEKLENMEKTEDİR
Bu ifadeyi sözdizimiyle ALTER TABLEbirlikte kullanmak şu
şekildedir:RENAME COLUMN ... TO ... Çift kayıtların tümünü seçmek için %:

ALTER TABLE table_name SELECT * FROM table_name

RENAME COLUMN old_column_name TO new_column_name; WHERE ID_column % 2 = 0;

TARAFINDAN DESTEKLENMEKTEDİR TARAFINDAN DESTEKLENMEKTEDİR

77. Bir tablodan bir sütunu nasıl silersiniz?


<>Tek sayılı kayıtların tümünü seçmek için, her iki durumda da SELECT column_name
sözdizimi aynıdır; tek fark, virgül yerine eşitsizlik operatörünü
kullanmamızdır =.
FROM (
79. Sorgulama yaparken yinelenen kayıtları nasıl
önleyebilirim?
SELECT column_name, DENSE_RANK() OVER (ORDER BY
Bu ifadeyi , söz konusu tablo için benzersiz bir anahtar
column_name DESC) AS rnk
oluşturarak veya mevcut bir
anahtarla DISTINCTbirlikte kullanarak .SELECT
FROM table_name
80. Bir tabloya nasıl çok sayıda satır eklenir?

INSERT INTOBu ifadeyi ile birlikte kullanmanın VALUESsözdizimi )t


şu şekildedir:

INSERT INTO table_name WHERE rnk = :n;

VALUES (value_1, value_2, ...), TARAFINDAN DESTEKLENMEKTEDİR

Sıralamaya göre n. satır için (eşitlik durumlarını göz ardı ederek):


(value_3, value_4, ...), ORDER BY column_name DESC OFFSET n-1 ROWS FETCH NEXT 1
ROW ONLY.
(value_5, value_6, ...), 82. Bir tablonun metin sütununda belirli bir harfle
başlayan değerleri nasıl bulursunuz?
...;
Operatörü joker karakterlerle LIKEbirlikte kullanma . Örneğin, bir
tabloda "A" harfiyle başlayan tüm soyadlarını bulmamız
TARAFINDAN DESTEKLENMEKTEDİR gerekiyor. Sorgu şu şekildedir:%_

81. Bir tablonun bir sütunundaki n. en yüksek değeri nasıl SELECT * FROM table_name
bulursunuz?
WHERE surname LIKE 'A_';
Bağlama durumlarını doğru şekilde ele almak için pencere
fonksiyonlarını kullanma:
TARAFINDAN DESTEKLENMEKTEDİR
Burada, bir soyadının en az iki harf içermesi gerektiğini TARAFINDAN DESTEKLENMEKTEDİR
varsayıyoruz. Bu varsayım olmadan (yani bir soyadı sadece A
harfinden oluşabiliyorsa), sorgu şu şekildedir:
84. Bir tablodan rastgele satırlar nasıl seçilir?
SELECT * FROM table_name Bu fonksiyonu ve RAND()ile birlikte kullanmak . PostgreSQL
gibi bazı SQL lehçelerinde buna denir . Örneğin, aşağıdaki kod
WHERE surname LIKE 'A%'; MySQL'deki bir tablodan rastgele beş satır döndürür:ORDER
BYLIMITRANDOM()

TARAFINDAN DESTEKLENMEKTEDİR
SELECT * FROM table_name

83. Bir tablodaki son kimlik numarasını nasıl bulursunuz?


ORDER BY RAND()
En basit yöntem , toplama fonksiyonunu kullanmaktır .
MAX() LIMIT 5;

SELECT MAX(id) AS highest_id

FROM table_name;

TARAFINDAN DESTEKLENMEKTEDİR

ORDER BYile veya kullanarakLIMITTOP

SELECT id

FROM table_name

ORDER BY id DESC

LIMIT 1;
ekleme, güncelleme, silme ve alma işlemlerine
yardımcı olur.

 Veri Kontrol Dili (DCL) – Veritabanına erişimi


kontrol etmenizi sağlar. Örnek – Erişim
izinlerini verme ve geri alma.
S1. SQL ve MySQL arasındaki fark nedir? S3. Veritabanı yönetim sistemi (DBMS) ile neyi
kastediyorsunuz? Farklı türleri nelerdir?
SQL ve MySQL karşılaştırması

SQL MySQL

SQL, İngilizce tabanlı


Yapılandırılmış Sorgu Dili MySQL bir veritabanı
anlamına gelen standart bir yönetim sistemidir.
dildir.

SQL, ilişkisel
MySQL, SQL Server,
veritabanlarının temelini Veritabanı Yönetim
Informix vb. gibi bir
oluşturan ve Sistemi ( DBMS ), kullanıcı, uygulamalar ve
RDMS (İlişkisel
veritabanlarına erişim ve veritabanının kendisiyle etkileşim kurarak verileri
Veritabanı Yönetim
yönetim için kullanılan yakalayan ve analiz eden bir yazılım uygulamasıdır.
Sistemi)'dir.
dildir. Veritabanı ise yapılandırılmış bir veri
koleksiyonudur.
S2. SQL'in farklı alt kümeleri nelerdir?
Veritabanı yönetim sistemi (DBMS), kullanıcının
 Veri Tanımlama Dili (DDL) – Veritabanında CREATE, veritabanıyla etkileşim kurmasına olanak
ALTER ve DELETE gibi çeşitli işlemleri tanır. Veritabanında depolanan veriler
gerçekleştirmenizi sağlar. değiştirilebilir, alınabilir ve silinebilir ve metin,
sayı, resim vb. her türlü veri türünde olabilir.
 Veri İşleme Dili (DML) – Verilere erişmenizi ve
verileri işlemenizi sağlar. Veritabanından veri Veritabanı yönetim sistemlerinin (DBMS) iki türü
vardır:
 İlişkisel Veritabanı Yönetim Sistemi : Veriler sağlayan işlevler içerir. Bu, bir veritabanı yönetim
ilişkiler (tablolar) halinde saklanır. Örnek – sisteminin kullandığı dosya depolama yönteminden
MySQL. farklıdır.

 İlişkisel Olmayan Veritabanı Yönetim Sistemi : Veritabanı yönetim sistemleri ve ilişkisel veritabanı
İlişkiler, kayıtlar ve öznitelikler kavramı yönetim sistemleri arasındaki bazı ek farklılıklar
yoktur. Örnek – MongoDB şunlardır:

Şimdi SQL mülakat sorularının bir sonraki sorusuna Sistem kullanımına izin verilen kullanıcı sayısı: Bir
geçelim. DBMS aynı anda yalnızca bir kullanıcıyı işleyebilirken,
bir RDBMS çok sayıda kullanıcıyı işleyebilir.
Soru 4. RDBMS nedir? DBMS'den farkı nedir?
Donanım ve yazılım özellikleri:
İlişkisel veritabanı yönetim sistemi (RDBMS), BT Bir RDBMS'ye kıyasla, bir DBMS daha az yazılım ve
uzmanlarının ve diğerlerinin ilişkisel veritabanlarını donanım gerektirir.
geliştirmesine, düzenlemesine, yönetmesine ve bunlarla Bilgi miktarı:
etkileşim kurmasına olanak tanıyan bir dizi uygulama ve RDBMS'ler küçükten büyüğe her miktarda veriyi
özelliktir. Çoğu ticari ilişkisel veritabanı yönetim işleyebilirken, DBMS'ler küçük miktarlarla sınırlıdır.
sistemi, veritabanına erişmek için Yapılandırılmış Veritabanının yapısı:
Sorgu Dili (SQL) kullanır ve veritabanı tablolar Veriler bir DBMS'de hiyerarşik bir biçimde saklanırken,
şeklinde saklanır. bir RDBMS, sütun adları olarak hizmet eden başlıklar ve
RDBMS, dünya çapındaki işletmelerde en yaygın ilgili değerleri tutan satırlar içeren bir tablo
kullanılan veritabanı sistemidir. Büyük miktarda veriyi kullanır.
depolamak ve almak için istikrarlı bir yöntem sunar. ACID ilkesinin uygulanması:
Atomiklik, tutarlılık, izolasyon ve kalıcılık (ACID)
Veritabanları genel olarak, diğer uygulamalarda kavramı, DBMS'ler tarafından veri depolama için
erişilebilen ve kullanılabilen veri koleksiyonlarını kullanılmaz. Öte yandan, RDBMS'ler verilerini
barındırır. Veritabanı platformlarının geliştirilmesi, düzenlemek ve tutarlılığı sağlamak için ACID modelini
yönetimi ve kullanımı, bir veritabanı yönetim sistemi kullanır.
tarafından desteklenir. Dağıtılmış veritabanları: DBMS'ler
dağıtılmış veritabanları için tam destek sağlamazken,
İlişkisel veritabanı yönetim sistemi (RDBMS), ilgili
RDBMS sağlar.
veri bileşenlerini birbirine bağlayan satır tabanlı bir
Veritabanı yönetim sistemleri
tablo yapısında veri depolayan bir veritabanı yönetim
(DBMS), bilgisayar ağında ve sistem sabit disklerinde
sistemi (DBMS) türüdür. Bir RDBMS, verilerin
bulunan veritabanlarını yönetmeye odaklanırken,
güvenliğini, doğruluğunu, bütünlüğünü ve tutarlılığını
ilişkisel veritabanı yönetim sistemleri (RDBMS) ise için kullanılır.
içerdiği veri tabloları arasındaki ilişkileri yönetmeye ORDER BY yan tümcesi: SQL'deki ORDER BY yan tümcesi,
yardımcı olur. belirtilen alan(lar)a (DESC) bağlı olarak verileri
Veritabanlarının normalleştirilmesi desteklenir; artan (ASC) veya azalan (DESC) sırada sıralamak için
RDBMS normalleştirilebilir, ancak bir DBMS kullanılır.
normalleştirilemez. GROUP BY yan tümcesi: SQL'deki GROUP BY yan tümcesi,
aynı verilere sahip girdileri gruplandırmak için
S5. Kendiliğinden Katılım (Self-Join) nedir?
kullanılır ve özetlenmiş veritabanı sonuçları elde
Kendi kendine birleştirme (self-join), iki tabloyu etmek için toplama yöntemleriyle birlikte
birbirine bağlamak için kullanılabilen bir birleştirme kullanılabilir. SQL'deki
türüdür. Sonuç olarak, tekli bir ilişkidir. Bir HAVING yan tümcesi, GROUP BY yan tümcesiyle birlikte
tablonun her satırı, kendisine ve aynı tablonun diğer kayıtları filtrelemek için kullanılır. WHERE yan
tüm satırlarına bağlanır. Bu nedenle, kendi kendine tümcesi, toplanmış kayıtları filtreleyemediği için
birleştirme çoğunlukla aynı veritabanı tablosundaki HAVING yan tümcesinden farklıdır.
satırları birleştirmek ve karşılaştırmak için
S8. UNION, MINUS ve INTERSECT komutları nelerdir?
kullanılır.
UNION operatörü, iki tablonun sonuçlarını
S6. SELECT ifadesi nedir?
birleştirirken aynı zamanda yinelenen girdileri
SELECT komutu, bir veya daha fazla veritabanı kaldırmak için kullanılır.
tablosundan veya görünümünden sıfır veya daha fazla MINUS operatörü, ilk sorgudan satırları döndürürken
satır alır. SELECT, çoğu uygulamada en sık kullanılan ikinci sorgudan satırları döndürmemek için kullanılır.
veri işleme dili (DML) komutudur. SELECT sorguları bir INTERSECT operatörü, her iki sorgunun sonuçlarını tek
sonuç kümesi tanımlar, ancak SQL bildirimsel bir bir satırda birleştirmek için kullanılır.
programlama dili olduğu için bunun nasıl Yukarıdaki SQL ifadelerinden herhangi birini
hesaplanacağını tanımlamaz. çalıştırmadan önce, belirli gereksinimlerin
karşılanması gerekir:
Soru 7. SQL'de SELECT sorgusunda kullanılan yaygın SELECT yan tümcesi içinde, her SELECT sorgusunun aynı
ifadelerden bazıları nelerdir? sayıda sütuna sahip olması gerekir.
Sütunlardaki veri türleri de karşılaştırılabilir
Aşağıda, SELECT sorgusuyla birlikte kullanılan bazı sık
olmalıdır.
SQL ifadeleri yer almaktadır:
Her SELECT ifadesinde, sütunlar aynı sırada olmalıdır.
WHERE yan tümcesi: SQL'de WHERE yan tümcesi, belirli
S9. İmleç nedir? İmleç nasıl kullanılır?
kriterlere bağlı olarak gerekli kayıtları filtrelemek
Herhangi bir değişken tanımladıktan sonra, bir imleç S12. OLTP nedir?
tanımlayın (DECLARE). Bir SELECT ifadesi her zaman
OLTP veya çevrimiçi işlem işleme, büyük insan
imleç tanımıyla birlikte kullanılmalıdır.
gruplarının genellikle internet üzerinden gerçek
Sonuç kümesini başlatmak için imleci üzerine getirin. zamanlı olarak çok miktarda veritabanı işlemi
Sonuç kümesinden satırları almadan önce OPEN ifadesinin gerçekleştirmesine olanak tanır. Bir veritabanı işlemi,
yürütülmesi gerekir. veritabanındaki verilerin değiştirilmesi, eklenmesi,
silinmesi veya sorgulanması durumunda gerçekleşir.
Bu veriyi almak ve sonuç kümesindeki bir sonraki satıra
geçmek için FETCH komutunu kullanın. S13. OLTP ve OLAP arasındaki farklar nelerdir?

İmleci devre dışı bırakmak için KAPAT komutunu OLTP, çevrimiçi işlem işleme anlamına gelirken, OLAP
kullanın. ise çevrimiçi analitik işleme anlamına gelir. OLTP,
çevrimiçi veritabanı değiştirme sistemidir, OLAP ise
Son olarak, imleç tanımını kaldırmak ve ona bağlı
çevrimiçi veritabanı sorgu yanıt sistemidir.
kaynakları serbest bırakmak için DEALLOCATE komutunu
kullanın. S14. Başka bir tabloyla aynı yapıya sahip boş tabloları
nasıl oluşturabilirim?
Soru 10. SQL'deki farklı ilişki türlerini listeleyin.
Boş tablolar oluşturmak için:
Veritabanında farklı ilişki türleri vardır:
Bir tablonun kayıtlarını yeni bir tabloya almak için
Birebir İlişki – Bu, iki tablo arasında kurulan bir INTO operatörünü kullanırken, tüm girişler için WHERE
bağlantıdır; bir tablodaki her kayıt, diğer tablodaki koşulunu false olarak ayarlayarak, aynı yapıya sahip
bir kaydın maksimum değerine karşılık gelir. boş tablolar oluşturmak mümkündür. Sonuç olarak, SQL,
alınan girişleri kabul etmek için aynı yapıya sahip
Bire Çok ve Çoktan Bire – Bu, bir tablodaki bir kaydın yeni bir tablo oluşturur, ancak WHERE koşulu etkin
başka bir tablodaki birden fazla kayda bağlandığı en olduğu için yeni tabloya hiçbir şey kaydedilmez.
sık kullanılan bağlantı türüdür.
S15. PostgreSQL nedir?
Çoktan Çoka İlişki – Bu, her iki tarafta da birden
fazla örneğe ihtiyaç duyan bir ilişkiyi tanımlarken 1986 yılında, Bilgisayar Bilimleri Profesörü Michael
kullanılır. Stonebraker liderliğindeki bir ekip, PostgreSQL'i
Postgres adıyla oluşturdu. Bu sistem, veri bütünlüğünü
Kendi Kendine Referans Veren İlişkiler – Bir tablonun ve hata toleransını sağlayarak kurumsal düzeyde
kendisiyle bağlantı kurması gerektiğinde, kullanılacak uygulamaların geliştirilmesine yardımcı olmak amacıyla
yöntem budur. oluşturuldu. PostgreSQL, değişken iş yüklerini ve
eşzamanlı kullanıcıları destekleyen, kurumsal düzeyde, döndürür. İlk parametre boş dışında bir değerse, olduğu
çok yönlü, dayanıklı, açık kaynaklı, nesne-ilişkisel gibi bırakılır.
bir veritabanı yönetim sistemidir. Uluslararası
Bu fonksiyon Oracle'da kullanılır, SQL ve MySQL'de
geliştirici topluluğu tarafından sürekli olarak
değil. MySQL'de NVL() fonksiyonu yerine IFNULL(), SQL
desteklenmiştir. PostgreSQL, hata toleransı özellikleri
Server'da ise ISNULL() fonksiyonu bulunur.
sayesinde geliştiriciler arasında önemli bir popülerlik
kazanmıştır. Şimdi SQL mülakat sorularının bir sonraki sorusuna
Yüksek düzeyde dayanıklılık, bütünlük ve doğruluk için geçelim.
yirmi yılı aşkın bir süredir topluluk çalışmalarına
borçlu olduğu çok güvenilir bir veritabanı yönetim Soru 18. Karakter işleme fonksiyonlarını açıklayın?
sistemidir. Birçok çevrimiçi, mobil, coğrafi ve SQL'deki farklı türlerini açıklayın.
analitik uygulama, birincil veri depolama veya veri
Karakter işleme rutinlerini kullanarak karakter
ambarı olarak PostgreSQL'i kullanmaktadır.
dizisini değiştirin, ayıklayın ve düzenleyin.
Yeni Mezunlar İçin SQL Mülakat Soruları ve Cevapları Fonksiyon, giriş dizeleri üzerinde işlem yapacak ve
kendisine bir veya daha fazla karakter ve kelime
verildiğinde sonucu döndürecektir.
S16. SQL yorumları nedir? SQL'deki karakter işleme fonksiyonları aşağıdaki
gibidir:
SQL yorumları, SQL ifadelerinin belirli bölümlerini
açıklamak ve SQL ifadelerinin yürütülmesini engellemek A) CONCAT (iki veya daha fazla değeri birleştirme): Bu
için kullanılır. Yorumlar birçok programlama dilinde fonksiyon, iki veya daha fazla değeri bir araya
oldukça önemlidir. Microsoft Access veritabanı getirmek için kullanılır. İkinci dize her zaman birinci
yorumları desteklemez. Bu nedenle, Mozilla Firefox ve dizenin sonuna eklenir.
Microsoft Edge'deki örneklerde Microsoft Access
veritabanı kullanılmıştır. B) SUBSTR: Bu fonksiyon, verilen bir başlangıç
Tek Satırlı Yorumlar: İki ardışık tire (-) ile başlar. noktasından verilen bir bitiş noktasına kadar bir
Çok Satırlı Yorumlar: /* ile başlar ve */ ile biter. dizenin bir bölümünü döndürür.

S17. NVL() fonksiyonunun kullanım amacı nedir? C) UZUNLUK: Bu fonksiyon, boşluklar da dahil olmak
üzere dizenin uzunluğunu sayısal biçimde döndürür.
NVL fonksiyonunu kullanarak boş değerleri varsayılan
bir değerle değiştirebilirsiniz. Fonksiyon, ilk D) INSTR: Bu fonksiyon, bir karakterin veya kelimenin
parametre boş ise ikinci parametrenin değerini bir dize içindeki tam sayısal konumunu hesaplar.
E) LPAD: Sağa hizalanmış değerler için, sol taraftaki SELECT * FROM(
karakter değerinin dolgu değerini döndürür.
SELECT employee_name, salary, DENSE_RANK()
F) RPAD: Sola hizalanmış bir değer için, sağ taraftaki
(Çalışan'dan maaşa göre azalan sırada sırala)
karakter değerinin dolgu değerini döndürür.
r=&n;
G) TRIM: Bu fonksiyon, bir dizenin başından, sonundan
veya her iki ucundan tanımlanmış tüm karakterleri En yüksek 3. maaşı bulmak için n = 3 değerini
kaldırır. Ayrıca gereksiz alan miktarını da azaltır. ayarlayın.
H) DEĞİŞTİR: Bu fonksiyon, bir kelimenin veya bir Soru 20. RANK() ve DENSE_RANK() fonksiyonları
dizenin bir bölümünün (alt dize) tüm örneklerini arasındaki fark nedir?
belirtilen diğer dize değeriyle değiştirir.
Sonuç kümesindeki RANK() fonksiyonu, sıralı
Q19. employees adlı tablodan bir çalışanın üçüncü en bölümünüzdeki her satırın sıralamasını tanımlar. Her
yüksek maaşını elde etmek için SQL sorgusunu yazın. iki satır da aynı sıralamaya sahipse, sıralamadaki bir
sonraki sayı, önceki sıralamaya tekrarlanan kayıt
Çalışan tablosu
sayısı eklenerek elde edilir. Örneğin, 4. sırada üç
çalışan_adı maaş kayıt varsa, bir sonraki seviye 7 olarak belirtilir.

DENSE_RANK() fonksiyonu, sağlanan sütun değerine göre,


A 24000
bölüm içindeki her satıra boşluk bırakmadan farklı bir
C 34000 sıra atar. Sıralamayı her zaman öncelik sırasına göre
gösterir. Bu fonksiyon, aynı sıraya sahip iki satıra
D 55000 aynı sırayı atar; bir sonraki sıra ise bir sonraki
ardışık sayıdır. Örneğin, 4. sırada üç kaydımız varsa,
E 75000 gösterilen bir sonraki seviye 5'tir.

F 21000 S21. Tablolar ve Alanlar nedir?

Bir tablo, ilişkisel bir veritabanında satır ve


G 40000
sütunlar halinde düzenlenmiş veri bileşenlerinin bir
H 50000 koleksiyonudur. Bir tablo aynı zamanda ilişkilerin
kullanışlı bir gösterimi olarak da düşünülebilir. Veri
depolamanın en temel biçimi tablodur. Aşağıda bir
Çalışan tablosu örneği gösterilmiştir.
İD İsim Departman Maaş çoğunlukla aynı veritabanı tablosundaki satırları
birleştirmek ve karşılaştırmak için kullanılır.
1 Rahul Satış 24000
Soru 24. SELECT ifadesi nedir?
2 Rohini Pazarlama 34000 SELECT komutu, bir veya daha fazla veritabanı
tablosundan veya görünümünden sıfır veya daha fazla
3 Shylesh Satış 24000
satır alır. SELECT, çoğu uygulamada en sık kullanılan
veri işleme dili (DML) komutudur. SELECT sorguları bir
4 Tarun Analitik 30000
sonuç kümesi tanımlar, ancak bunun nasıl
hesaplanacağını tanımlamaz, çünkü SQL bildirimsel bir
programlama dilidir.
Bir kayıt veya satır, bir tablodaki tek bir girdidir.
Bir tabloda, bir kayıt birbirine bağlı verilerden Soru 25. SQL'de SELECT sorgusunda kullanılan yaygın
oluşan bir koleksiyonu temsil eder. Örneğin, Çalışanlar ifadelerden bazıları nelerdir?
tablosunda dört kayıt bulunur.
Aşağıda, SELECT sorgusuyla birlikte kullanılan bazı sık
Bir tablo, her biri Alanlar (sütunlar) adı verilen daha SQL ifadeleri yer almaktadır:
küçük birimlere ayrılabilen çok sayıda kayıttan
WHERE yan tümcesi: SQL'de WHERE yan tümcesi, belirli
(satırdan) oluşur. Yukarıdaki Çalışan tablosunda ID,
kriterlere bağlı olarak gerekli kayıtları filtrelemek
Ad, Departman ve Maaş olmak üzere dört alan
için kullanılır.
bulunmaktadır.
ORDER BY yan tümcesi: SQL'deki ORDER BY yan tümcesi,
S22. Eşsiz kısıtlama nedir? belirtilen alan(lar)a (DESC) bağlı olarak verileri
artan (ASC) veya azalan (DESC) sırada sıralamak için
UNIQUE kısıtlaması, bir sütundaki aynı değerlerin iki kullanılır.
kayıtta görünmesini engeller. UNIQUE kısıtlaması, bir GROUP BY yan tümcesi: SQL'deki GROUP BY yan tümcesi,
sütundaki her değerin benzersiz olmasını garanti eder. aynı verilere sahip girdileri gruplandırmak için
kullanılır ve özetlenmiş veritabanı sonuçları elde
S23. Kendi Kendine Birleştirme (Self-Join) nedir?
etmek için toplama yöntemleriyle birlikte
Kendi kendine birleştirme (self-join), iki tabloyu kullanılabilir.
birbirine bağlamak için kullanılabilen bir birleştirme SQL'deki HAVING yan tümcesi, GROUP BY yan tümcesiyle
türüdür. Sonuç olarak, tekli bir ilişkidir. Bir birlikte kayıtları filtrelemek için kullanılır. WHERE
tablonun her satırı, kendi kendine birleştirmede hem yan tümcesi, toplanmış kayıtları filtreleyemediği için
kendisine hem de aynı tablonun diğer tüm satırlarına HAVING yan tümcesinden farklıdır.
bağlanır. Bu nedenle, kendi kendine birleştirme
S26. UNION, MINUS ve INTERSECT komutları nelerdir? Sonuç kümesindeki bir sonraki satıra geçmek için FETCH
komutunu kullanın.
UNION operatörü, iki tablonun sonuçlarını
birleştirirken aynı zamanda yinelenen kayıtları İmleci devre dışı bırakmak için KAPAT komutunu
kaldırmak için kullanılır. kullanın.

MINUS operatörü, birinci sorgudan gelen satırları Son olarak, imleç tanımını kaldırmak ve onunla
döndürmek ancak ikinci sorgudan gelen satırları bağlantılı kaynakları serbest bırakmak için DEALLOCATE
döndürmemek için kullanılır. komutunu kullanın.

INTERSECT operatörü, her iki sorgunun sonuçlarını tek Soru 28. SQL'deki farklı ilişki türlerini listeleyin.
bir satırda birleştirmek için kullanılır. Yukarıdaki
Veritabanında farklı ilişki türleri vardır:
SQL ifadelerinden herhangi birini çalıştırmadan önce,
Bire Bir – Bu, bir tablodaki her kaydın diğer tablodaki
belirli gereksinimlerin karşılanması gerekir.
bir kaydın maksimum değerine karşılık geldiği iki tablo
arasındaki bağlantıdır.
Bu madde içerisinde, her SELECT sorgusunun aynı sayıda Bire Çok ve Çoktan Bire – Bu, en sık kullanılan
sütun içermesi gerekir. bağlantı türüdür; bir tablodaki bir kayıt, diğer
tablodaki birden fazla kayda bağlanır.
Sütunlardaki veri türlerinin de karşılaştırılabilir Çoktan Çoka – Bu, her iki tarafta da birden fazla örnek
olması gerekir. gerektiren bir ilişki tanımlanırken kullanılır.
Kendine Referans Veren İlişkiler – Bir tablonun
Her SELECT sorgusunda sütunlar aynı sırada olmalıdır.
kendisiyle bağlantı kurması gerektiğinde kullanılacak
Şimdi SQL mülakat sorularının bir sonraki sorusuna yöntem budur.
geçelim.
S29. SQL örneği nedir?
S27. İmleç nedir? İmleç nasıl kullanılır?
SQL, veritabanlarından veri düzenlemenize, silmenize ve
Herhangi bir değişken tanımladıktan sonra, bir imleç istemenize olanak tanıyan bir veritabanı sorgu dilidir.
tanımlayın (DECLARE). Bir SELECT ifadesi her zaman Aşağıdaki ifadeler, SQL ifadelerine birkaç örnektir:
imleç tanımıyla birlikte kullanılmalıdır.
 SEÇME
Sonuç kümesini başlatmak için imleci üzerine getirin.
 SOKMAK
Sonuç kümesinden satırları almadan önce OPEN ifadesinin
yürütülmesi gerekir.  GÜNCELLEME

 SİLMEK
 VERİTABANI OLUŞTUR

 VERİTABANI DEĞİŞTİR

S30. Temel SQL becerileri nelerdir? Şemalar çeşitli şekil ve boyutlarda olabilir. Yıldız
şema ve kar tanesi şema en popüler olanlarından
SQL becerileri, veri analistlerine verileri sütun ve ikisidir. Yıldız şemadaki varlıklar yıldız şeklinde,
satırlara ayıran ilişkisel veritabanlarından veri kar tanesi şemadakiler ise kar tanesi şeklinde
oluşturma, bakım ve alma konusunda yardımcı olur. gösterilir.
Ayrıca kullanıcıların verileri verimli bir şekilde Herhangi bir veritabanı mimarisi şemalar temeli üzerine
almalarını, güncellemelerini, işlemelerini, kuruludur.
eklemelerini ve değiştirmelerini sağlar.

Bir SQL uzmanının sahip olması gereken en temel Soru 32. SQL Server'da geçici tablo nasıl oluşturulur?
yetenekler şunlardır:
Geçici tablolar TempDB'de oluşturulur ve son bağlantı
1. Veritabanı Yönetimi kapatıldıktan sonra otomatik olarak silinir. Geçici
tabloları ara sonuçları depolamak ve işlemek için
2. Veritabanı Yapılandırması
kullanabiliriz. Geçici verileri saklamamız
3. SQL yan tümceleri ve ifadeleri oluşturma gerektiğinde, geçici tablolar kullanışlıdır.
Geçici tablo oluşturmak için sözdizimi aşağıdaki
4. MySQL, PostgreSQL gibi SQL sistem becerileri. gibidir: CREATE TABLE #Employee (id INT, name
5. PHP uzmanlığı faydalıdır. VARCHAR(25)) INSERT INTO #Employee VALUES (01,
'Ashish'), (02, 'Atul')
6. SQL verilerini analiz edin

7. WAMP ve SQL kullanarak veritabanı oluşturma

8. OLAP Becerileri

S31. SQL Server'da şema nedir? Şema, veritabanının


mantıksal bir görsel temsilidir. Veritabanının çok
sayıda varlığı arasındaki ilişkileri kurar ve belirtir. Şimdi SQL mülakat sorularının bir sonraki sorusuna
Bir veritabanına uygulanabilecek çeşitli kısıtlama geçelim.
türlerini ifade eder. Ayrıca çeşitli veri türlerini de
tanımlar. Tablolar ve Görünümler üzerinde de
kullanılabilir. Soru 33. Windows 11'e SQL Server nasıl kurulur?
Windows 11'de SQL Server Management Studio'yu Yükleme CASE ifadesi, bir sütunun değerinin diğer sütunların
değerlerine bağlı olarak belirlendiği bir mantık
Adım 1: SSMS'ye tıklayın; bu sizi SQL Server Management
oluşturmak için kullanılır.
Studio sayfasına götürecektir.
SQL Server CASE ifadesi en az bir WHEN ve THEN komut
Adım 2: Ayrıca, SQL Server Management Studio
kümesinden oluşur. Test edilecek koşul WHEN ifadesiyle
bağlantısına tıklayın ve Dosyayı Kaydet seçeneğine
belirtilir. WHEN ifadesi koşulun TRUE döndürmesi
dokunun.
durumunda, THEN cümlesi ne yapılacağını açıklar.
3. Adım: Bu dosyayı yerel sürücünüze kaydedin ve
WHEN koşullarından hiçbiri doğru sonuç vermediğinde,
klasöre gidin.
ELSE ifadesi yürütülür. END anahtar kelimesi CASE
Adım 4: Kurulum penceresi açılacak ve burada dosyayı ifadesini sonlandırır.
kaydetmek istediğiniz konumu seçebilirsiniz. Adım
1CASE
5: Yükle'ye tıklayın. Adım 6: Kurulum tamamlandıktan
sonra pencereyi kapatın. Adım 7: Ardından, Başlat 2WHEN condition1 THEN result1
Menünüze geri dönün ve SQL Server Management Studio'yu
3WHEN condition2 THEN result2
arayın.
4WHEN conditionN THEN resultN

5ELSE results

6END;
Adım 8: Ayrıca, üzerine çift tıklayın; göründüğünde
giriş sayfası açılacaktır. Soru 35. NoSQL ve SQL karşılaştırması.
Adım 9: Sunucu adınızı görmelisiniz. Ancak, Özetle, SQL ve NoSQL arasındaki beş temel fark
görünmüyorsa, sunucudaki açılır oka tıklayın ve Gözat'a şunlardır:
dokunun.
İlişkisel veritabanları SQL, ilişkisel olmayan
Adım 10: SQL sunucunuzu seçin ve Bağlan'a tıklayın. veritabanları ise NoSQL'dir.
Bundan sonra SQL sunucusu bağlanacak ve Windows 11 SQL veritabanları belirli bir şemaya sahiptir ve
sorunsuz bir şekilde çalışacaktır. yapılandırılmış sorgu dili kullanır. Yapılandırılmamış
veriler için ise NoSQL veritabanları dinamik şemalar
S34. SQL Server'da durum ne zaman böyledir?
kullanır.
SQL veritabanları dikey olarak ölçeklenirken, NoSQL kullanılabilir. BLOB değerleri bayt dizelerine benzer
veritabanları yatay olarak ölçeklenir. şekilde çalışır ve karakter kümesi içermezler. Sonuç
olarak, baytların sayısal değerleri tamamen
NoSQL veritabanları belge, anahtar-değer, grafik veya
karşılaştırma ve sıralamaya bağlıdır. TEXT
geniş sütun tabanlı veritabanlarıdır, SQL veritabanları
değerleri, karakter dizesine veya ikili olmayan bir
ise tablo tabanlıdır.
dizeye benzer şekilde davranır. TEXT'in
SQL veritabanları çok satırlı işlemlerde, NoSQL ise karşılaştırılması/sıralanması tamamen karakter kümesi
dokümanlar ve JSON gibi yapılandırılmamış verilerde koleksiyonuna bağlıdır.
üstün performans gösterir.

Deneyimli SQL Mülakat Soruları ve Cevapları


Soru 36. NOW() ve CURRENT_DATE() arasındaki fark
nedir? NOW(), ifadenin yürütülmeye başladığı zamanı
gösteren sabit bir zaman değeri döndürür. (Saklı bir
fonksiyon veya tetikleyici içinde, NOW() fonksiyonun S38. SQL'de yinelenen satırlar nasıl kaldırılır?
veya tetikleyici ifadenin yürütülmeye başladığı zamanı SQL tablosunda yinelenen satırlar varsa, bu yinelenen
döndürür.) NOW() ve CURRENT_DATE() arasındaki basit satırlar silinmelidir.
fark, NOW()'ın geçerli tarih ve saati 'YYYY-MM_DD
HH:MM:SS' biçiminde alırken, CURRENT_DATE()'ın geçerli Veri setimiz için aşağıdaki tabloyu varsayalım:
günün tarihini 'YYYY-MM_DD' biçiminde almasıdır.

İD İsim Yaş

1 A 21
Şimdi SQL mülakat sorularının bir sonraki sorusuna
geçelim. 2 B 23

S37. MySQL'de BLOB ve TEXT nedir? 2 B 23


BLOB, İkili Büyük Nesneler anlamına gelir ve ikili
4 D 22
verileri depolamak için kullanılabilirken, TEXT çok
sayıda dizeyi depolamak için kullanılabilir. BLOB,
5 E 25
resimler, filmler, ses dosyaları ve uygulamalar dahil
olmak üzere ikili verileri depolamak için 6 G 26
sql_ifadesi

GİTMEK;
5 E 25
Saklı bir prosedürü yürütün
Aşağıdaki SQL sorgusu, tablodaki yinelenen kimlikleri
kaldırır: DELETE FROM table WHERE ID IN ( SELECT ID, İşlem_adı_işlemini yürüt;
COUNT(ID) FROM table GROUP BY ID HAVING COUNT (ID) >
1);
S40. Veritabanı Kara Kutu Testi nedir?

Kara Kutu Testi, yazılım uygulamalarının iç kod


yapısını, uygulama detaylarını veya iç yollarını
bilmeden işlevlerini test etmeyi içeren bir yazılım
test yaklaşımıdır. Kara Kutu Testi, yazılım
uygulamalarının girdi ve çıktısına odaklanan ve tamamen
yazılım gereksinimleri ve spesifikasyonları tarafından
yönlendirilen bir yazılım test türüdür. Davranışsal
test de bunun bir diğer adıdır. Soru 41. SQL sanal
Soru 39. SQL Server kullanarak saklı prosedür nasıl alanlarının farklı türleri nelerdir?
oluşturulur?

Saklı prosedür, kaydedip tekrar tekrar


kullanabileceğiniz önceden hazırlanmış bir SQL
kodudur. Dolayısıyla, sık sık oluşturduğunuz bir SQL
SQL Sandbox, SQL Server içinde güvenilmeyen
sorgunuz varsa, onu saklı prosedür olarak kaydedin ve
programların çalıştırılabildiği güvenli bir ortamdır.
çalıştırmak için çağırın. Ayrıca, saklı prosedüre
Üç farklı SQL sandbox türü vardır:
parametreler de sağlayabilirsiniz, böylece verilen
parametrelerin değerine göre işlem yapabilir. Güvenli Erişim Korumalı Alanı: Bu ortamda, kullanıcı
saklı prosedürler, tetikleyiciler vb. oluşturmak gibi
SQL işlemlerini gerçekleştirebilir, ancak belleğe
erişemez veya dosya oluşturamaz.
Saklı Prosedür Sözdizimi
Harici Erişime Açık Koruma Alanı: Kullanıcılar, bellek
PROSEDÜR OLUŞTUR procedure_name tahsisini değiştirme olanağına sahip olmadan dosyalara
erişebilirler.
GİBİ
Güvenli Olmayan Erişim Korumalı Alanı: Bu alan,
kullanıcının belleğe erişmesine olanak tanıyan
güvenilmez kod içerir. D 55000
Şimdi SQL mülakat sorularının bir sonraki sorusuna
E 75000
geçelim.

S42. MyISAM tablosu nerede saklanıyor? F 21000

Aralık 2009'da MySQL 5.5'in tanıtımından önce, MyISAM, G 40000


MySQL ilişkisel veritabanı yönetim sistemi sürümleri
için varsayılan depolama motoruydu. Eski ISAM koduna H 50000
dayanır, ancak birçok ekstra özellik içerir. Her MyISAM
tablosu, diskte (bölümlendirilmemişse) üç dosyaya
bölünür. Dosya adları tablo adıyla başlar ve dosya SELECT * FROM(
türünü gösteren bir uzantıyla biter. Tablo tanımı
bir .frm dosyasında saklanır, ancak bu dosya MyISAM SELECT employee_name, salary, DENSE_RANK()
motorunun bir parçası değildir; bunun yerine sunucunun
(Çalışan'dan maaşa göre azalan sırada sırala)
bir parçasıdır. Veri dosyasının uzantısı .MYD
(MYData)'dır. İndeks dosyasının uzantısı .MYI r=&n;
(MYIndex)'tir. İndeks dosyanızı kaybederseniz,
En yüksek ikinci maaşı bulmak için n = 2 değerini
indeksleri yeniden oluşturarak her zaman geri
belirleyin.
yükleyebilirsiniz.
En yüksek 3. maaşı bulmak için n = 3 ve bu şekilde
Soru 43. SQL'de n. en yüksek maaşı nasıl bulabilirim? devam edin.
En tipik mülakat sorusu, bir tabloda N. en yüksek maaşı
bulmaktır. Bu işlem, dense rank() fonksiyonu Soru 44. SQL'de tablo ve alan ile neyi kastediyorsunuz?
kullanılarak gerçekleştirilebilir. Çalışan tablosu
Tablo, verilerin satır ve sütunlar şeklinde düzenlenmiş
bir koleksiyonunu ifade eder. Alan ise bir tablodaki
sütun sayısını belirtir. Örneğin:
çalışan_adı maaş
Tablo : Öğrenci Bilgileri
A 24000 Alan : Öğrenci No, Öğrenci Adı, Öğrenci Notları

C 34000 Soru 45. SQL'de JOIN işlemleri nedir?


JOIN yan tümcesi, iki veya daha fazla tablodan, sağlandığı eşleşen satırları döndürmek için
aralarındaki ilişkili bir sütuna dayanarak satırları kullanılır.
birleştirmek için kullanılır. İki tabloyu birleştirmek
 Tam Birleştirme: Tam birleştirme, tablolardan
veya onlardan veri almak için kullanılır. Aşağıda
herhangi birinde eşleşme olduğunda tüm kayıtları
görebileceğiniz gibi 4 tür birleştirme vardır:
döndürür. Bu nedenle, sol taraftaki tablodan tüm
satırları ve sağ taraftaki tablodan tüm satırları
döndürür.

Şimdi SQL mülakat sorularının bir sonraki sorusuna


geçelim.

Soru 46. SQL'de CHAR ve VARCHAR2 veri tipleri


arasındaki fark nedir?

Hem Char hem de Varchar2 karakter veri tipleri için


kullanılır, ancak Varchar2 değişken uzunluktaki
karakter dizeleri için kullanılırken Char sabit
uzunluktaki dizeler için kullanılır. Örneğin, char(10)
yalnızca 10 karakter saklayabilir ve başka bir
 İç birleştirme (Inner Join): SQL'de iç uzunluktaki dizeyi saklayamazken, varchar2(10) bu
birleştirme, en yaygın birleştirme türüdür. değişkene 6, 8, 2 gibi herhangi bir uzunluktaki dizeyi
Birleştirme koşulunun sağlandığı birden fazla saklayabilir.
tablodan tüm satırları döndürmek için
kullanılır. S47. Birincil anahtar nedir?

 Sol Birleştirme (Left Join): SQL'de


sol birleştirme, sol tablodaki tüm satırları,
ancak sağ tablodaki yalnızca birleştirme
koşulunun sağlandığı eşleşen satırları döndürmek
için kullanılır.

 Sağ Birleştirme (Right Join): SQL'de sağ


birleştirme, sağ tablodaki tüm satırları, sol  SQL'de birincil
tablodaki ise yalnızca birleştirme koşulunun anahtar, tablodaki her satırı benzersiz şekilde
tanımlayan bir sütun (veya sütunlar kümesi) veya
tablodaki bir satırı silmek tablodaki tüm satırları
sütun grubudur.
için kullanılır. silmek için kullanılır.
 Tablodaki tek bir satırı benzersiz şekilde
tanımlar. Silme işlemi yaptıktan
Verilere geri dönme
sonra verileri geri
 Boş değerlere izin verilmez. işlemi yapılamaz.
alabilirsiniz.
Örnek: Öğrenci tablosunda, Stu_ID birincil anahtardır.
Bu bir DML komutudur. Bu bir DDL komutudur.
Soru 48. Kısıtlamalar nelerdir?

SQL'de kısıtlamalar, tablonun veri türü üzerindeki Bu, truncate ifadesinden


sınırlamayı belirtmek için kullanılır. Bu kısıtlamalar, Daha hızlı.
daha yavaştır.
tablo oluşturma veya değiştirme ifadesinde
belirtilebilir. Kısıtlamalara örnekler şunlardır: S50. Benzersiz anahtar nedir?
 BOŞ DEĞİL  Tablodaki tek bir satırı benzersiz şekilde
 KONTROL ETMEK tanımlar.

 VARSAYILAN  Tablo başına birden fazla değere izin verilir.

 EŞSİZ  Boş değerlere izin verilir.

 BİRİNCİL ANAHTAR Bu SQL Mülakat Soruları blogunun yanı sıra, bu


teknoloji konusunda profesyonellerden eğitim almak
 YABANCI ANAHTAR istiyorsanız, Edureka'nın sunduğu yapılandırılmış
eğitimleri tercih edebilirsiniz!
Soru 49. DELETE ve TRUNCATE ifadeleri arasındaki fark
nedir? S51. SQL'de yabancı anahtar nedir?

DELETE ve TRUNCATE karşılaştırması  Yabancı anahtar, iki tablodaki veriler arasında


bir bağlantı kurarak referans bütünlüğünü korur.

SİLMEK KISALT  Alt tablodaki yabancı anahtar, üst tablodaki


birincil anahtara referans verir.

Delete komutu, bir Truncate komutu, bir


 Yabancı anahtar kısıtlaması, alt tablo ile üst SQL'de, geçerli zaman damgasını/tarihi döndürmeye
tablo arasındaki bağlantıları yok edecek yardımcı olan GetDate() adlı yerleşik bir fonksiyon
eylemleri engeller. bulunmaktadır .

S52. Veri bütünlüğüyle neyi kastediyorsunuz? S55. Sorgu optimizasyonundan ne anlıyorsunuz?

Veri Bütünlüğü, bir veritabanında depolanan verilerin Tahmini maliyeti en düşük olan değerlendirme sorgusu
doğruluğunu ve tutarlılığını tanımlar. Ayrıca, veriler için bir plan belirleyen aşama, sorgu optimizasyonu
bir uygulamaya veya veritabanına girildiğinde iş olarak bilinir.
kurallarını uygulamak için bütünlük kısıtlamaları da
Sorgu optimizasyonunun avantajları şunlardır:
tanımlar.
 Çıktı daha hızlı sağlanır.
S53. SQL'de kümelenmiş ve kümelenmemiş indeks
arasındaki fark nedir?  Daha kısa sürede daha fazla sayıda sorgu
yürütülebilir.
SQL'de kümelenmiş ve kümelenmemiş indeksler arasındaki
farklar şunlardır:  Zaman ve alan karmaşıklığını azaltır.
1. Kümelenmiş indeks, veritabanından verilerin Denormalizasyon, veritabanının üst düzey veri
kolayca alınmasını sağlar ve daha hızlıdır; buna yapılarından alt düzey veri yapılarına doğru veriye
karşılık kümelenmemiş indeksten okuma işlemi erişmek için kullanılan bir tekniktir. Veritabanı
nispeten daha yavaştır. yöneticilerinin, tabloya yedeklilik ekleyerek tüm
altyapının performansını artırmalarına yardımcı olur.
2. Kümelenmiş indeks, veritabanındaki kayıtların
Çeşitli tablolardaki verileri tek bir tabloda
depolanma şeklini değiştirir; çünkü satırları
birleştiren veritabanı sorguları ekleyerek tabloya
kümelenmiş indeks olarak belirlenen sütuna göre
yedekli veri ekler.
sıralar. Kümelenmemiş indekste ise depolama
şeklini değiştirmez, ancak arama sonrasında S57. Varlıklar ve İlişkiler nedir?
orijinal tablo satırlarına geri dönen ayrı bir
nesne oluşturur. Varlıklar : Gerçek dünyada, veritabanında veri
depolanabilen kişi, yer veya nesne. Tablolar, bir
3. Bir tabloda yalnızca bir kümelenmiş indeks varlık türünü temsil eden verileri depolar. Örneğin,
bulunabilirken, birden fazla kümelenmemiş indeks bir banka veritabanında müşteri bilgilerini depolamak
bulunabilir. için bir müşteri tablosu bulunur. Müşteri tablosu, bu
bilgileri her müşteri için bir dizi özellik (tablodaki
Soru 54. Geçerli tarihi görüntülemek için bir SQL
sütunlar) olarak depolar.
sorgusu yazın?
İlişkiler : Birbirleriyle bağlantılı olan varlıklar Kümelenmemiş indeks, tablonun fiziksel sırasını
arasındaki ilişki veya bağlantılar. Örneğin, müşterinin değiştirmez ve verilerin mantıksal sırasını korur. Her
adı, aynı tabloda bulunabilecek müşteri hesap numarası tabloda birden fazla kümelenmemiş indeks bulunabilir.
ve iletişim bilgileriyle ilişkilidir. Ayrı tablolar
Veri Analisti İçin SQL Mülakat Soruları
arasında da ilişkiler olabilir (örneğin, müşteri ile
hesaplar arasında).

Şimdi SQL mülakat sorularının bir sonraki sorusuna Soru 60. Normalizasyon nedir ve avantajları nelerdir?
geçelim.
SQL'de normalizasyon, verilerin tekrarlanmasını ve
gereksizliğini önlemek için veri düzenleme işlemidir.
Soru 58. Endeks nedir? Avantajlarından bazıları şunlardır:
İndeks, tablodan kayıtların daha hızlı alınmasını  Daha iyi veritabanı organizasyonu
sağlayan bir performans iyileştirme yöntemidir. İndeks,
her değer için bir giriş oluşturur ve bu nedenle  Daha az satır içeren daha fazla tablo
verilerin alınması daha hızlı olur.
 Etkin veri erişimi
Soru 59. SQL'de farklı indeks türlerini açıklayınız.
 Sorgulamalar için Daha Fazla Esneklik
SQL'de üç tür indeks vardır :
 Bilgiyi hızlıca bulun
Benzersiz Dizin:
 Güvenliğin uygulanması daha kolay
Bu indeks, sütun benzersiz indekslenmişse alanın
 Kolay değişiklik yapılmasına olanak tanır.
yinelenen değerlere sahip olmasına izin vermez.
Birincil anahtar tanımlanmışsa, benzersiz indeks  Gereksiz ve yinelenen verilerin azaltılması
otomatik olarak uygulanabilir.
 Daha Kompakt Veritabanı
Kümelenmiş İndeks:
 Değişiklik sonrasında verilerin tutarlı olmasını
Bu indeks, tablonun fiziksel sıralamasını yeniden sağlayın.
düzenler ve anahtar değerlerine göre arama yapar. Her
tablo yalnızca bir kümelenmiş indekse sahip olabilir.

Kümelenmemiş Endeks:
S61. DROP ve TRUNCATE komutları arasındaki fark nedir?
DROP komutu bir tabloyu siler ve veritabanından geri S63. OLTP nedir?
alınamaz; TRUNCATE komutu ise tablodaki tüm satırları
OLTP veya çevrimiçi işlem işleme, büyük insan
siler.
gruplarının genellikle internet üzerinden gerçek
Soru 62. Normalizasyonun farklı türlerini açıklayınız. zamanlı olarak çok miktarda veritabanı işlemi
gerçekleştirmesine olanak tanır. Bir veritabanı işlemi,
Normalizasyonun birçok ardışık seviyesi vardır.
veritabanındaki verilerin değiştirilmesi, eklenmesi,
Bunlara normal formlar denir . Her ardışık normal form
silinmesi veya sorgulanması durumunda gerçekleşir.
bir öncekine bağlıdır. İlk üç normal form genellikle
yeterlidir. OLTP ve OLAP arasındaki farklar nelerdir?

Veritabanı tablolarında tekrarlanan kayıtları ortadan OLTP, çevrimiçi işlem işleme anlamına gelirken, OLAP
kaldırmak veya azaltmak için normal formlar kullanılır. ise çevrimiçi analitik işleme anlamına gelir. OLTP,
İşte birçok normal form örneği: çevrimiçi veritabanı değiştirme sistemidir, OLAP ise
çevrimiçi veritabanı sorgu yanıt sistemidir.
Birinci Normal Form:
Bir ilişkideki her öznitelik tek değerli bir öznitelik Soru 64. Başka bir tabloyla aynı yapıya sahip boş
olduğunda, ilişki birinci normal formdadır denir. Bir tablolar nasıl oluşturulur?
ilişkide bileşik veya çok değerli bir özellik olduğunda
Boş tablolar oluşturmak için:
birinci normal form bozulur.
Bir tablonun kayıtlarını yeni bir tabloya almak için
İkinci Normal Form:
INTO operatörünü kullanırken, tüm girişler için WHERE
Bir ilişki, birinci normal formun gereksinimlerini koşulunu false olarak ayarlamak, aynı yapıya sahip boş
karşılıyorsa ve kısmi bağımlılık içermiyorsa ikinci tablolar oluşturmayı mümkün kılar. Sonuç olarak, SQL,
normal formdadır. 2NF'de, bir ilişkinin kısmi alınan girişleri kabul etmek için aynı yapıya sahip
bağımlılığı yoktur; bu, herhangi bir tablo aday yeni bir tablo oluşturur, ancak WHERE koşulu etkin
anahtarının uygun bir alt kümesine bağımlı olan asal olduğu için yeni tabloya hiçbir şey kaydedilmez.
olmayan bir özniteliğe sahip olmadığı anlamına gelir.
Genellikle, sorun tek bir sütuna birincil anahtar
atanarak çözülebilir. Soru 65. PostgreSQL nedir?

Üçüncü Normal Form: 1986 yılında, Bilgisayar Bilimleri Profesörü Michael


Bir ilişki ikinci normal formun gereksinimlerini Stonebraker liderliğindeki bir ekip, PostgreSQL'i
karşılıyorsa ve geçişli bağımlılık yoksa, üçüncü normal Postgres adıyla oluşturdu. Bu sistem, veri bütünlüğünü
formda olduğu söylenir. ve hata toleransını sağlayarak geliştiricilerin
kurumsal düzeyde uygulamalar geliştirmesine yardımcı
olmak amacıyla oluşturuldu. PostgreSQL, değişken iş iki satır da aynı sıralamaya sahipse, sıralamadaki bir
yüklerini ve eşzamanlı kullanıcıları destekleyen, sonraki sayı, önceki sıralamaya tekrarlanan kayıt
kurumsal düzeyde, çok yönlü, dayanıklı, açık kaynaklı, sayısı eklenerek elde edilir. Örneğin, 4. sırada üç
nesne-ilişkisel bir veritabanı yönetim sistemidir. kayıt varsa, bir sonraki seviye 7 olarak belirtilir.
Uluslararası geliştirici topluluğu tarafından sürekli
DENSE_RANK() fonksiyonu, sağlanan sütun değerine göre,
olarak desteklenmiştir. PostgreSQL, hata toleransı
bölüm içindeki her satıra boşluk bırakmadan farklı bir
özellikleri nedeniyle geliştiriciler arasında önemli
sıra atar. Sıralamayı her zaman öncelik sırasına göre
bir popülerlik kazanmıştır.
gösterir. Bu fonksiyon, aynı sıraya sahip iki satıra
Yüksek düzeyde dayanıklılık, bütünlük ve doğruluk için
aynı sırayı atar; bir sonraki sıra ise bir sonraki
yirmi yılı aşkın bir süredir topluluk çalışmalarına
ardışık sayıdır. Örneğin, 4. sırada üç kaydımız varsa,
borçlu olduğu çok güvenilir bir veritabanı yönetim
gösterilen bir sonraki seviye 5'tir.
sistemidir. Birçok çevrimiçi, mobil, coğrafi ve
analitik uygulama, birincil veri depolama veya veri Soru 68. SQL Enjeksiyonu nedir?
ambarı olarak PostgreSQL'i kullanmaktadır.
SQL enjeksiyonu, saldırganların arka uç süreçlerini
Soru 66. SQL yorumları nedir? kontrol altına almalarına ve veritabanlarında depolanan
hassas verilere erişmelerine, bunları almalarına ve
SQL yorumları, SQL ifadelerinin belirli bölümlerini
silmelerine olanak tanıyan bir tür web sitesi ve web
açıklamak ve SQL ifadelerinin yürütülmesini engellemek
uygulaması kodundaki güvenlik açığıdır. Bu yaklaşımda,
için kullanılır. Yorumlar birçok programlama dilinde
kötü amaçlı SQL ifadeleri veritabanı giriş alanına
oldukça önemlidir. Bu yorumlar Microsoft Access
girilir ve bunlar yürütüldükten sonra veritabanı
veritabanı tarafından desteklenmemektedir. Sonuç
saldırganın erişimine açık hale gelir. Veri odaklı
olarak, Mozilla Firefox ve Microsoft Edge'deki
uygulamalar kullanılarak, bu strateji hassas verilere
örneklerde Microsoft Access veritabanı
erişmek ve veritabanlarında yönetimsel görevler
kullanılmaktadır.
yürütmek için yaygın olarak kullanılmaktadır. SQL
Tek Satırlı Yorumlar: İki ardışık tire (-) ile başlar.
enjeksiyonu saldırısı da bunun bir diğer adıdır.
Çok Satırlı Yorumlar: /* ile başlar ve */ ile biter.
Aşağıda SQL enjeksiyonuna dair bazı örnekler
Şimdi SQL mülakat sorularının bir sonraki sorusuna
verilmiştir:
geçelim.
 İstenilen sonuçları elde etmek için SQL sorgusunu
Soru 67. RANK() ve DENSE_RANK() fonksiyonları
değiştirmek amacıyla gizli verilere erişim
arasındaki fark nedir?
sağlamak.
Sonuç kümesindeki RANK() fonksiyonu, sıralı
bölümünüzdeki her satırın sıralamasını tanımlar. Her
 UNION saldırıları, birden fazla veritabanı SQL'deki DISTINCT anahtar kelimesi, tüm yinelenen
tablosundan veri çalmak için tasarlanmıştır. kayıtları kaldırmak ve yalnızca benzersiz kayıtları
döndürmek için SELECT sorgusuyla birlikte kullanılır.
 Veritabanının sürümü ve yapısı hakkında bilgi
Bir tabloda birden fazla yinelenen kayıt olabileceği
edinmek için veritabanını inceleyin.
durumlar olabilir.
Soru 69. SQL'de kaç tane toplama fonksiyonu mevcuttur? SQL'deki DISTINCT yan tümcesi, bir SELECT ifadesinin
sonuç kümesinden yinelenenleri ortadan kaldırmak için
SQL toplama fonksiyonları, bir veritabanının verileri kullanılır.
hakkında bilgi sağlar. Örneğin, AVG fonksiyonu, bir
veritabanı sütunundaki değerlerin ortalamasını Soru 72. COALESCE fonksiyonunun sözdizimi ve kullanımı
döndürür. nedir?

SQL, aşağıda verilen yedi (7) toplama fonksiyonu COALESCE fonksiyonu, ardışık ifadeler arasından ilk boş
sağlar: olmayan değeri döndürür. İfadeler, verildikleri sırayla
değerlendirilir ve fonksiyonun sonucu ilk boş olmayan
AVG(): Belirtilen sütunlardaki ortalama değeri değerdir. Yalnızca tüm girdiler boş olduğunda COALESCE
döndürür. yöntemi NULL döndürür.
COUNT(): Boş değerlere sahip satırlar da dahil olmak
üzere tablodaki satır sayısını döndürür. COALESCE fonksiyonunun sözdizimi şu şekildedir:
MAX(): Gruptaki en büyük değeri döndürür. COALESCE (exp1, exp2, …. expn)
MIN(): Gruptaki en küçük değeri döndürür.
SUM(): Belirtilen sütunun toplam (boş olmayan)
değerlerini döndürür. Soru 73. Veritabanında ACID özelliği nedir?
FIRST(): Bir ifadenin ilk değerini döndürür.
ACID, Atomiklik, Tutarlılık, İzolasyon ve Kalıcılık
LAST(): Bir ifadenin son değerini döndürür.
kelimelerinin baş harflerinden oluşur. Veritabanı
Soru 70. ORDER BY ifadesi kullanılarak verilerin sistemlerinde veri işlemlerinin güvenilir bir şekilde
varsayılan sıralaması nedir? Bu nasıl değiştirilebilir? işlenmesini sağlamak için kullanılır.

MySQL'de ORDER BY yan tümcesi, ASC veya DESC  Atomiklik: Atomiklik, işlemlerin tamamen
değiştiricileri olmadan da kullanılabilir. Bu özellik tamamlandığı veya başarısız olduğu durumları
ORDER BY yan tümcesinde bulunmadığında, sıralama düzeni ifade eder; burada işlem, bir verinin tek bir
önceden ASC veya artan düzene ayarlanır. mantıksal işlemi anlamına gelir. Yani, herhangi
bir işlemin bir kısmı başarısız olursa, tüm işlem
S71. DISTINCT ifadesini nasıl kullanırız? Ne işe yarar?
başarısız olur ve veritabanı durumu değişmeden Bu SQL Mülakat Soruları blogunun yanı sıra, bu
kalır. teknoloji konusunda profesyonellerden eğitim almak
istiyorsanız, Edureka'nın sunduğu yapılandırılmış
 Tutarlılık: Tutarlılık, verilerin tüm doğrulama
eğitimleri tercih edebilirsiniz!
kurallarına uymasını sağlar. Basitçe söylemek
gerekirse, işleminiz hiçbir zaman durumunu Soru 76. NULL değerleri sıfır veya boşluk ile aynı
tamamlamadan veritabanından ayrılmaz. mıdır?

 İzolasyon: İzolasyonun temel amacı eşzamanlılık NULL değeri, sıfır veya boşlukla aynı şey değildir.
kontrolüdür. NULL değerleri, kullanılamayan, bilinmeyen, atanmış
veya uygulanamayan bir değeri temsil ederken, sıfır bir
 Kalıcılık: Kalıcılık, bir işlem onaylandıktan
sayıdır ve boşluk bir karakterdir.
sonra, elektrik kesintisi, çökme veya herhangi
bir hata gibi araya girebilecek her türlü duruma Soru 77. Çapraz birleştirme ile doğal birleştirme
karşı işlemin gerçekleşeceği anlamına gelir. arasındaki fark nedir?

Çapraz birleştirme, iki tablonun çapraz çarpımını veya


Kartezyen çarpımını üretirken, doğal birleştirme her
S74. SQL'de "Tetikleyici" ile neyi kastediyorsunuz?
iki tabloda da aynı ada ve veri türüne sahip tüm
SQL'de tetikleyiciler, veri değişiklikleri sütunlara dayanır.
gerçekleştiğinde veya sonrasında otomatik olarak
Soru 78. SQL'de alt sorgu nedir?
yürütülmek üzere tanımlanmış özel bir saklı prosedür
türüdür. Belirli bir tabloya karşı bir ekleme, Alt sorgu, veritabanından veri veya bilgi almak için
güncelleme veya başka bir sorgu yürütüldüğünde bir kod tanımlanmış bir sorgunun içinde yer alan başka bir
grubunu çalıştırmanıza olanak tanır. sorgudur. Bir alt sorguda, dıştaki sorguya ana sorgu,
içteki sorguya ise alt sorgu denir. Alt sorgular her
Soru 75. SQL'de hangi farklı operatörler mevcuttur?
zaman önce yürütülür ve alt sorgunun sonucu ana sorguya
SQL'de üç operatör mevcuttur : iletilir. Bir SELECT, UPDATE veya başka herhangi bir
sorgunun içine yerleştirilebilir. Bir alt sorgu ayrıca
1. Aritmetik Operatörler >, < veya = gibi herhangi bir karşılaştırma operatörünü
de kullanabilir.
2. Mantıksal Operatörler
Soru 79. Alt sorgunun farklı türleri nelerdir?
3. Karşılaştırma Operatörleri
Alt sorguların iki türü vardır: İlişkili ve İlişkisiz.
İlişkili alt sorgu : Bunlar, dış sorguda referans 1SELECT * FROM Table_name WHERE EmpName like 'A%'
verilen bir tablodan veri seçen sorgulardır. Başka bir
Q82. employee_table tablosundaki bir çalışanın üçüncü
tabloya ve o tablodaki bir sütuna referans verdiği için
en yüksek maaşını elde etmek için bir SQL sorgusu
bağımsız bir sorgu olarak kabul edilmez.
yazın?
İlişkisiz alt sorgu : Bu sorgu, alt sorgunun çıktısının
1SELECT TOP 1 salary
ana sorguda yerine konulduğu bağımsız bir sorgudur.
2FROM(
Şimdi SQL mülakat sorularının bir sonraki sorusuna
geçelim. 3SELECT TOP 3 salary
Soru 80. Bir tablodaki kayıt sayısını elde etmenin 4FROM employee_table
yollarını sıralayın?
5ORDER BY salary DESC) AS emp
SQL'de bir tablodaki kayıt sayısını saymak
için aşağıdaki komutları kullanabilirsiniz: 6ORDER BY salary ASC;

SELECT * FROM table1 Soru 83. SQL'de grup fonksiyonlarına neden ihtiyaç
duyulmaktadır?

Grup fonksiyonları, satır kümesi üzerinde çalışır ve


SELECT COUNT(*) FROM table1 her grup için bir sonuç döndürür. Yaygın olarak
kullanılan grup fonksiyonlarından bazıları şunlardır:
AVG, COUNT, MAX, MIN, SUM, VARIANCE.
SELECT rows FROM sysindexes WHERE id =
OBJECT_ID(table1) AND indid < 2 Soru 84. İlişki nedir ve ilişkiler nelerdir?

İlişkiler veya bağlantılar, birbirleriyle bir şekilde


ilişkili olan varlıklar arasındaki bağlardır.
SQL Geliştirici İçin Mülakat Soruları İlişkiler, bir veritabanındaki tablolar arasındaki
bağlantı olarak tanımlanır. Çeşitli ilişkiler vardır,
bunlar şunlardır:
Soru 81. Adı 'A' harfiyle başlayan çalışanların
 Birebir İlişki.
isimlerini bulan bir SQL sorgusu yazın?
 Bire çok ilişki.
Adı 'A' harfiyle başlayan çalışanların adlarını
görüntülemek için aşağıdaki komutu yazın:  Çoklu-Bire İlişki.
 Kendine Referans Veren İlişki.  Veri türlerini dönüştürmek için

Soru 85. Veri eklerken bir sütuna NULL değerleri nasıl Soru 88. MERGE ifadesine neden ihtiyaç duyulmaktadır?
ekleyebilirsiniz?
Bu ifade, bir tabloya koşullu olarak veri güncelleme
SQL'de NULL değerleri aşağıdaki şekillerde eklenebilir: veya ekleme olanağı sağlar. Bir satır mevcutsa UPDATE,
mevcut değilse INSERT işlemi gerçekleştirir.
 Dolaylı olarak, sütun listesinden sütunu
çıkararak. S89. Özyinelemeli saklı prosedürden ne kastediyorsunuz?

 VALUES maddesinde NULL anahtar kelimesini açıkça Özyinelemeli saklı prosedür, bir sınır koşuluna ulaşana
belirterek kadar kendini tekrar tekrar çağıran bir saklı prosedür
anlamına gelir. Bu özyinelemeli fonksiyon veya
Soru 86. 'BETWEEN' ve 'IN' koşul operatörleri
prosedür, programcıların aynı kod kümesini n sayıda kez
arasındaki temel fark nedir?
kullanmasına yardımcı olur.
BETWEEN operatörü, bir satırdaki değer aralığına göre
Soru 90. SQL'de CLAUSE nedir?
satırları görüntülemek için kullanılırken, IN koşul
operatörü belirli bir değer kümesinde bulunan değerleri SQL sorgusundaki koşul, sorguya bir şart ekleyerek
kontrol etmek için kullanılır. sonuç kümesini sınırlandırmaya yardımcı olur. Bir
koşul, tüm kayıt kümesinden satırları filtrelemeye
BETWEEN kelimesinin örneği:
yardımcı olur.
SELECT * FROM Students where ROLL_NO BETWEEN 10 AND 50;
Örneğin – WHERE, HAVING yan tümcesi.
IN örneği:
Bu SQL Mülakat Soruları Blogu'nun yanı sıra, bu
SELECT * FROM students where ROLL_NO IN (8,15,25); teknoloji konusunda profesyonellerden eğitim almak
istiyorsanız, edureka'dan yapılandırılmış bir eğitim
Soru 87. SQL fonksiyonları neden kullanılır? seçeneğini tercih edebilirsiniz! Daha fazla bilgi
edinmek için aşağıdaki bağlantıya tıklayın.
SQL fonksiyonları aşağıdaki amaçlar için kullanılır:
S91. 'HAVING' yan cümlesi ile 'where' yan cümlesi
 Veriler üzerinde bazı hesaplamalar yapmak için
arasındaki fark nedir?
 Bireysel veri öğelerini değiştirmek için
HAVING yan tümcesi yalnızca SELECT ifadesiyle
 Çıktıyı değiştirmek için kullanılabilir. Genellikle GROUP BY yan tümcesinde
kullanılır ve GROUP BY kullanılmadığında HAVING, WHERE
 Tarihleri ve sayıları biçimlendirmek için
yan tümcesi gibi davranır. HAVING yan tümcesi yalnızca
sorgudaki GROUP BY fonksiyonuyla birlikte Soru 95. SQL'de bazı büyük/küçük harf manipülasyon
kullanılırken, WHERE yan tümcesi sorgudaki GROUP BY fonksiyonlarını listeleyin?
fonksiyonunun bir parçası olmadan önce her satıra
SQL'de üç adet durum işleme fonksiyonu vardır:
uygulanır.
 LOWER: Bu fonksiyon, dizeyi küçük harflere
dönüştürür. Argüman olarak bir dize alır ve onu
Soru 92. Dinamik SQL'in çalıştırılabileceği yöntemleri küçük harflere dönüştürerek geri döndürür.
sıralayınız? Sözdizimi:
Dinamik SQL'in çalıştırılabileceği yöntemler şunlardır: LOWER('string')
 Parametreler içeren bir sorgu yazın.  BÜYÜK HARF: Bu fonksiyon, dizeyi büyük harflere
 EXEC komutunu kullanarak. dönüştürür. Argüman olarak bir dize alır ve onu
büyük harflere dönüştürerek geri döndürür.
 sp_executesql kullanılıyor. Sözdizimi:
Soru 93. Kısıtlamaların çeşitli seviyeleri nelerdir? BÜYÜK('dize')
Kısıtlamalar, veri varlığını ve tutarlılığını sağlamak  INITCAP: Bu fonksiyon, ilk harfi büyük, geri
için bir sütunun temsilidir. Kısıtlamaların iki kalan harfleri küçük harf olan bir dize döndürür.
seviyesi vardır: Sözdizimi:
 sütun seviyesi kısıtlaması INITCAP('string')
 tablo düzeyinde kısıtlama

Bu SQL Mülakat Soruları blogunun yanı sıra, bu


Soru 94. İki tablodan ortak kayıtları nasıl teknoloji konusunda profesyonellerden eğitim almak
alabilirsiniz? istiyorsanız, edureka'dan yapılandırılmış bir eğitim
seçeneğini tercih edebilirsiniz! Daha fazla bilgi
INTERSECT fonksiyonunu kullanarak iki tablodaki ortak edinmek için aşağıdaki bağlantıya tıklayın.
kayıtları alabilirsiniz. Örneğin:
Soru 96. SQL'de kullanılabilen farklı küme
operatörleri nelerdir?
Öğrenciden studentID'yi seçin. <strong>KESİŞİM</strong>
Sınavdan StudentID'yi seçin. Kullanılabilir küme operatörlerinden bazıları birleşim,
kesişim veya eksi operatörleridir.
S97. ALIAS komutu nedir? Alternatif kayıtları, yani hem tek hem de çift satır
numaralarını alabilirsiniz. Örneğin, çift sayıları
SQL'de ALIAS komutu, herhangi bir tabloya veya sütuna
görüntülemek için aşağıdaki komutu kullanın:
verilebilen bir addır. Takma ad, belirli bir tabloyu
veya sütunu tanımlamak için WHERE yan tümcesinde SELECT studentId FROM (SELECT rowno, studentId FROM
kullanılabilir. student) WHERE mod(rowno,2)=0 WHERE

Örneğin- Şimdi, tek sayıları göstermek için:

SELECT [Link], [Link] FROM employee emp, SELECT studentId FROM (SELECT rowno, studentId FROM
department AS dept WHERE [Link]=[Link] student) WHERE mod(rowno,2)=1 **

Yukarıdaki örnekte, "emp" çalışan tablosunun takma Q100. Desen eşleştirme için sorguda kullanılan
adını, "dept" ise departman tablosunun takma adını operatörün adını belirtin?
ifade etmektedir.
LIKE operatörü, desen eşleştirme için kullanılır ve -
Şimdi SQL mülakat sorularının bir sonraki sorusuna şeklinde kullanılabilir.
geçelim.
1. % – Sıfır veya daha fazla karakterle eşleşir.
Soru 98. Toplu ve skalar fonksiyonlar nelerdir?
Örneğin: select * from students where studentname like
Toplama fonksiyonları, matematiksel hesaplamaları 'a%'
değerlendirmek ve tek bir değer döndürmek için
_ (Alt çizgi) – tam olarak tek bir karakterle
kullanılır. Bu hesaplamalar, bir tablodaki sütunlardan
eşleşir. Örneğin: select * from student where
yapılır. Örneğin, max() ve count() fonksiyonları
studentname like 'abc_'
sayısal değerlere göre hesaplanır.

Skalar fonksiyonlar, girdi değerine bağlı olarak tek


bir değer döndürür. Örneğin, UCASE() ve NOW() Bu SQL Mülakat Soruları Blogu'nun yanı sıra, bu
fonksiyonları bir dizeye göre hesaplanır. teknoloji konusunda profesyonellerden eğitim almak
istiyorsanız, Edureka'nın sunduğu yapılandırılmış
Şimdi SQL mülakat sorularının bir sonraki sorusuna eğitimleri tercih edebilirsiniz!
geçelim.
S101. Bir tablodan benzersiz kayıtları nasıl
Soru 99. Bir tablodan alternatif kayıtları nasıl seçebilirsiniz?
alabilirsiniz?
DISTINCT anahtar kelimesini kullanarak bir tablodan
benzersiz kayıtları seçebilirsiniz.
Öğrenci bölümünden FARKLI öğrenci kimliğini seçin. Görünüm, bir tabloya veya başka bir görünüme dayalı
mantıksal bir anlık görüntüdür. Aşağıdaki nedenlerle
Bu komut, Öğrenci tablosundan benzersiz öğrenci kimlik
kullanılır:
numaralarını yazdıracaktır.
 Verilere erişimi kısıtlamak.
Q102. Bir dizenin ilk 5 karakterini nasıl
alabilirsiniz?  Karmaşık sorguları basitleştirmek.

Bir metin dizisinden karakter almak için birçok yöntem  Veri bağımsızlığının sağlanması.
vardır. Örneğin:
 Aynı veriye farklı bakış açıları sunmak.
SELECT SUBSTRING(StudentName,1,5) AS studentname FROM
S106. Saklı prosedür nedir?
student
Saklı prosedür, veritabanı sistemine erişmek için
Q103 . SQL ve PL/SQL arasındaki temel fark nedir?
birçok SQL ifadesinden oluşan bir fonksiyondur. Birçok
SQL, tek bir sorgu çalıştırmanıza veya tek bir SQL ifadesi bir saklı prosedürde birleştirilir ve
ekleme/güncelleme/silme işlemi gerçekleştirmenize gerektiğinde çalıştırılır; bu da zamandan tasarruf
olanak tanıyan bir sorgu dilidir; PL/SQL ise Oracle'ın sağlar ve kodu tekrar tekrar yazmaktan kaçınmayı mümkün
"Prosedürel Dili" olan SQL'dir ve birden fazla işlemi kılar.
(örneğin seçme/ekleme/güncelleme/silme) gerçekleştirmek
S107. Saklı prosedürlerin bazı avantaj ve
için tam bir program (döngüler, değişkenler vb.)
dezavantajlarını sıralayınız?
yazmanıza olanak tanır.
Avantajlar :
S104. Görüş nedir?
Saklı prosedürler, modüler programlama olarak
Görünüm, bir tabloda bulunan verilerin bir alt
kullanılabilir; yani bir kez oluşturulur, saklanır ve
kümesinden oluşan sanal bir tablodur. Görünümler
gerektiğinde birden çok kez çağrılır. Bu, daha hızlı
fiziksel olarak mevcut olmadığından, depolama için daha
yürütmeyi destekler. Ayrıca ağ trafiğini azaltır ve
az yer kaplar. Görünüm, bir veya daha fazla tablodan
verilere daha iyi güvenlik sağlar.
verileri bir araya getirebilir ve bu, ilişkiye
bağlıdır. Dezavantaj :
Şimdi SQL mülakat sorularının bir sonraki sorusuna Saklı prosedürlerin tek dezavantajı, yalnızca
geçelim. veritabanında çalıştırılabilmesi ve veritabanı
sunucusunda daha fazla bellek kullanmasıdır.
S105. Görünümler ne için kullanılır?
S108. Kullanıcı tanımlı fonksiyonların tüm türlerini  Genişlik Hassasiyeti: Tek baytlık karakter ve
listeleyin? çift baytlık karakter.

Kullanıcı tanımlı fonksiyonların üç türü vardır:  Aksan Hassasiyeti.

 Skalar Fonksiyonlar Bu SQL Mülakat Soruları Blogu'nun yanı sıra, bu


teknoloji konusunda profesyonellerden eğitim almak
 Satır içi tablo değerli fonksiyonlar
istiyorsanız, Edureka'nın sunduğu yapılandırılmış
 Çoklu ifade değerli fonksiyonlar eğitimleri tercih edebilirsiniz!

Skalar değer birimi döndürür, varyant ise dönüş S111. Yerel ve küresel değişkenler nelerdir?
koşulunu tanımlar. Tanımlanan diğer iki fonksiyon türü
Yerel değişkenler:
tablo döndürür.
Bu değişkenler yalnızca fonksiyonun içinde
Şimdi SQL mülakat sorularının bir sonraki sorusuna
kullanılabilir veya var olabilir. Bu değişkenler başka
geçelim.
hiçbir fonksiyon tarafından kullanılmaz veya bunlara
S109. Harflendirme ile neyi kastediyorsunuz? atıfta bulunulmaz.

Sıralama, verilerin nasıl sıralanacağını ve Küresel değişkenler:


karşılaştırılacağını belirleyen kurallar kümesi olarak
Bu değişkenler, program boyunca erişilebilen
tanımlanır. Karakter verileri, büyük/küçük harf
değişkenlerdir. Global değişkenler, ilgili fonksiyon
duyarlılığı, karakter genişliği vb. seçeneklerin yanı
çağrıldığında oluşturulamaz.
sıra doğru karakter dizisini tanımlayan kurallar
kullanılarak sıralanır. S112. SQL'de Otomatik Artırma nedir?

Şimdi SQL mülakat sorularının bir sonraki sorusuna `Autoincrement` anahtar kelimesi, kullanıcının tabloya
geçelim. yeni bir kayıt eklendiğinde oluşturulacak benzersiz bir
sayı belirlemesine olanak tanır. Bu anahtar kelime
Q110. Sıralama Hassasiyetinin farklı türleri nelerdir?
genellikle SQL'de `PRIMARY KEY` kullanıldığında
Aşağıda farklı sıralama hassasiyeti türleri gereklidir.
verilmiştir:

 Büyük/küçük harf duyarlılığı: A ve a ve B ve b. Oracle'da AUTO INCREMENT anahtar kelimesi , SQL


SERVER'da ise IDENTITY anahtar kelimesi kullanılabilir.
 Kana Hassasiyeti: Japonca Kana karakterleri.
S113. Veri ambarı nedir?
Veri ambarı, verilerin birden fazla bilgi kaynağından Başlangıç: Bu, başlangıç pozisyonunu ifade eder .
toplandığı merkezi bir veri deposunu ifade eder. Bu Uzunluk : Bu, dizedeki değiştirilecek karakter sayısını
veriler birleştirilir, dönüştürülür ve hem veri ifade eder.
madenciliği hem de çevrimiçi işleme için kullanılabilir
replacement_string : Bunlar, dizeye eklenen yeni
hale getirilir. Veri ambarı verilerinin ayrıca Veri
karakterlerdir.
Pazarları adı verilen bir alt kümesi de vardır.

S114. SQL Server'da farklı kimlik doğrulama modları


nelerdir? Bunlar nasıl değiştirilebilir? REPLACE fonksiyonu : Bu fonksiyon, mevcut karakterleri
tüm tekrarlarında değiştirmek için kullanılır.
Windows modu ve Karma Mod – SQL ve Windows. SQL
Sözdizimi:
Server'da kimlik doğrulama modunu değiştirmek için
aşağıdaki adımları izleyebilirsiniz: DEĞİŞTİR (dize ifadesi, arama dizesi, değiştirme
dizesi)
 Başlat > Programlar > Microsoft SQL Server'a
tıklayın ve Microsoft SQL Server program Burada string_expression içindeki her search_string,
grubundan SQL Enterprise Manager'ı çalıştırmak replacement_string ile değiştirilecektir.
için SQL Enterprise Manager'a tıklayın.
S116. Tek bir sorgu kullanarak e-posta doğrulamasını
 Ardından Araçlar menüsünden sunucuyu seçin. nasıl eklersiniz?
 SQL Server Yapılandırma Özellikleri'ni seçin ve SQL sorgusu içinde normal ifadeler kullanarak e-posta
Güvenlik sayfasına gidin. formatını doğrulayabilirsiniz. Örneğin, MySQL'de bunu
şu şekilde yapabilirsiniz:
S115. STUFF ve REPLACE fonksiyonlarının anlamı nedir?
E-posta seçin
STUFF Fonksiyonu : Bu fonksiyon, mevcut bir karakterin
üzerine yazmak veya bir dizeyi başka bir dizeye eklemek your_table_name'den
için kullanılır. Sözdizimi:
NEREDE e-posta REGEXP '^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]
STUFF(string_expression,start, length, +.[a-zA-Z]{2,}$';
replacement_charaction)
Bu sorgu, your_table_name tablosundaki e-
burada, posta sütunundan, geçerli bir e-posta biçimi için
string_expression : karakterlerin değiştirileceği belirtilen normal ifade kalıbına uyan e-postaları
dizedir. seçer.
Q117. Bir tablodan son kaydı almak için bir sorgu
yazın.

Bir tablodaki son kaydı almak için şu şekilde bir sorgu


kullanabilirsiniz:

SELECT * FROM your_table_name ORDER BY


your_primary_key_column DESC LIMIT 1;

`your_table_name` yerine tablonuzun


adını, `your_primary_key_column` yerine ise kayıtların
sıralamasını belirleyen birincil anahtar sütununu
yazın. `DESC` anahtar kelimesi kayıtları azalan sırada
sıralar ve `LIMIT 1` yalnızca son kaydı almanızı
sağlar.

You might also like