sql
sql
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.
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.)
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.)
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.
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.
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?
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:
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:
TARAFINDAN DESTEKLENMEKTEDİR
WHERE MOD(ID_column, 2) = 0;
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
FROM table_name;
TARAFINDAN DESTEKLENMEKTEDİR
SELECT id
FROM table_name
ORDER BY id DESC
LIMIT 1;
ekleme, güncelleme, silme ve alma işlemlerine
yardımcı olur.
SQL MySQL
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.
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
8. OLAP Becerileri
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.
İD İsim Yaş
1 A 21
Şimdi SQL mülakat sorularının bir sonraki sorusuna
geçelim. 2 B 23
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?
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?
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?
SELECT * FROM table1 Soru 83. SQL'de grup fonksiyonlarına neden ihtiyaç
duyulmaktadır?
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
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.
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.
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.
Ş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: