SQL'de ne tür joins
kullandınız ve bunların nasıl çalıştığını açıkladınız mı?
Cevap:
INNER JOIN
: Her iki tablodan eşleşen verileri içeren satırları döndürür.LEFT JOIN
: Sol tablodaki tüm satırları ve sağ tablodaki eşleşen satırları döndürür.RIGHT JOIN
: Sağ tablodaki tüm satırları ve sol tablodaki eşleşen satırları döndürür.FULL JOIN
: Eşleşmeyen satırlar da dahil olmak üzere her iki tablodaki tüm satırları döndürür.
SQL'deki ACID kavramlarını ve bunların işlem yönetimindeki rolünü açıklamak
Cevap: ASİT, anlamına gelir Atomicity, Consistency, Isolation, Durability
. Bunlar, SQL'de işlem yönetimindeki temel özelliklerdir:
Atomicity
bir işlemin tamamen işlenmesini veya hiç işlenmemesini sağlar.Consistency
verilerin tanımlanmış kurallara, kısıtlamalara ve koşullara uyması gerektiğini garanti eder.Isolation
eşzamanlı işlemlerin birbirini etkilememesini sağlar.Durability
bir işlem tamamlandıktan sonra veritabanındaki değişikliklerin güvenli ve kalıcı olarak kaydedilmesini sağlar.
ROW_NUMBER(), RANK(), DENSE_RANK()
SQL'deki işlevler arasındaki fark nedir ?
Yanıt: ROW_NUMBER(), RANK(), DENSE_RANK()
hepsi bir sorgu sonucundaki satırları numaralandırmak için kullanılır, ancak aşağıdaki farkları vardır:
ROW_NUMBER()
: Tekrarları dikkate almadan, sorgu sonucundaki satırlara sürekli sayılar atar.RANK()
: Sorgu sonucundaki satırlara numara atar ve eşitlik olması durumunda bir sonraki numarayı atlar.DENSE_RANK()
: Sorgu sonucunda satırlara numara atar ve beraberlik durumunda bir sonraki numarayı atlamaz.
window functions
SQL'de nasıl kullanılır ve bir örnek verin.
Cevap: Window functions
ana sorgunun sonucunu değiştirmeden bir dizi ilgili satır üzerinde hesaplama yapılmasına izin verir. Örneğin, çalışan toplamları hesaplamak veya bir sonuç kümesindeki en üstteki N satırı almak için pencere işlevlerini kullanabiliriz.
SELECT ProductID, UnitPrice,
SUM(UnitPrice) OVER(ORDER BY ProductID) AS RunningTotal
FROM Products;
Desen eşleştirme için SQL'de normal ifadeler nasıl kullanılır?
Cevap: SQL'deki düzenli ifadeler, karmaşık metin kalıbı aramaları için kullanılır. Genellikle(Oracle'ta) veya (PostgreSQL'de) LIKE
gibi operatör veya işlevlerle birlikte kullanılırlar. REGEXP_LIKE
REGEXP_MATCHES
SELECT * FROM Employees WHERE LastName LIKE '%son%';
JSON verileriyle çalışmak için SQL'de JSON işlevleri nasıl kullanılır?
Cevap: SQL'deki JSON işlevleri, veritabanında JSON formatındaki verilerin sorgulanmasına, eklenmesine, güncellenmesine ve silinmesine izin verir.
Örneğin, JSON özelliklerini değiştirmek için JSON_VALUE, JSON_QUERY, JSON_MODIFY(SQL Server'da) gibi işlevleri veya ->, ->>, #>, #>> vb.(PostgreSQL'de) gibi operatörleri kullanabiliriz.
SELECT JSON_VALUE(CustomerInfo, '$.Name') AS CustomerName
FROM Customers;
SQL sorgu optimizasyonu ve veritabanı performans ayarı için gelişmiş teknikler
Yanıt: SQL sorgularını ve veritabanı performansını optimize etmek için aşağıdaki gibi teknikleri kullanabiliriz:
- Sık sorgulanan sütunlar için dizinleri kullanma.
- Verimli veri alma için iyileştirme
JOIN
veWHERE
maddeler. - Gerektiğinde pencere fonksiyonlarını ve sayfalandırmayı kullanmak.
-
SELECT
Yalnızca gerekli sütunları almak için * kullanmaktan kaçının . - Bazı durumlarda sorgu ipuçlarını kullanma.
- Veri normalizasyonunun sağlanması ve kopyaların kaldırılması.
- Veritabanını izlemek ve ince ayar yapmak için performans izleme araçlarını kullanma.
SQl'de SET
işlemlerin nasıl kullanılacağını açıklayın (UNION, INTERSECT, EXCEPT)
Yanıt: SET
işlemler, (UNION, INTERSECT, EXCEPT)
farklı sorguların sonuç kümelerini birleştirmek ve değiştirmek için kullanılır.
UNION
: İki veya daha fazla sorgunun sonuçlarını tek bir veri kümesinde birleştirir ve yinelenenleri kaldırır.INTERSECT
: Her iki sorgu sonuç kümesinde görünen satırları döndürür.EXCEPT
: İlk sorgu sonuç kümesinde görünen ancak ikincisinde olmayan satırları döndürür.
LEAD, LAG, FIRST_VALUE, LAST_VALUE
SQL'deki gibi sorgu işlevleri nasıl kullanılır?
Cevap: Gibi sorgulama fonksiyonları, LEAD, LAG, FIRST_VALUE, LAST_VALUE
aynı sorgu sonucunda ilgili satırlardan değer almak için kullanılır.
LEAD
: Sorgu sonucundaki bir sonraki satırdan bir sütunun değerini alır.LAG
: Sorgu sonucundaki bir önceki satırdan bir sütunun değerini alır.FIRST_VALUE
: Sorgu sonucundaki bir sütunun ilk değerini alır.LAST_VALUE
: Sorgu sonucundaki bir sütunun son değerini alır.