En Yaygın 20 SQL Sorgusu Mülakat Sorusu ve Yanıtı [Yeni Başlayanlar ve Deneyimliler İçin]

Yayınlanan: 2021-07-14

Bir SQL mülakatına katılmak ve içinden geçeceğiniz tüm soru ve tartışmaların neler olduğunu merak etmek? Bir SQL mülakatına katılmadan önce, onlara cevapları zihinsel olarak hazırlayabilmeniz için sorulacak SQL mülakat sorularının türleri hakkında bir fikir sahibi olmak daha iyidir.

Size yardımcı olmak için, SQL mülakat sorularının derinliğini ve gerçek amacını anlamak için en iyi SQL mülakat sorusu ve cevapları kılavuzunu oluşturdum. Başlayalım.

Structured Query Language (SQL), ilişkisel veritabanlarındaki verileri yönetmek, işlemek ve sorgulamak için popüler ve yaygın olarak kullanılan bir programlama dilidir. SQL, ilişkisel veritabanlarıyla iletişim kurmak için tam olarak en hızlı dil olmasa da, şüphesiz yapılandırılmış verileri işlemenin en verimli yoludur.

ISAM veya VSAM gibi geleneksel okuma-yazma API'leriyle karşılaştırıldığında , SQL iki temel avantajı genişletir:

  • Tek bir komut kullanarak birden fazla kayda erişmenizi sağlar.
  • Bir veri tabanından bir kayda nasıl erişileceğini (bir indeks kullanılıp kullanılmayacağını) belirleme ihtiyacını ortadan kaldırır.

SQL sorgusu, bir veritabanında depolanan verilere erişmek için bir soru veya istektir. Bir veritabanı, bilgileri tablo biçiminde saklar. Böylece satırlar ve sütunlar içerir. Veritabanı alanları, veritabanına hangi bilgileri depolayabileceği konusunda yönlendiren sütunları oluştururken, satırlar verileri içerir. Olayları bir perspektife oturtmak için "tblAlbum" adlı örnek bir veri kümesi:

Kaynak

Bu örnek verileri kullanarak bir SQL sorgusu oluşturalım. Yalnızca 9 veya üzeri derecelendirmeye sahip albümleri seçmeye odaklanacağız. Bu nedenle, sorgudan esasen veritabanından 9'a eşit veya daha büyük bir derecelendirmeye sahip albüm başlıklarının bir listesini oluşturmasını istiyoruz. İstediğiniz yanıtı almak için ilgili anahtar kelimeleri kullanacaksınız.

sql mülakat soruları ve cevapları

Bu senaryodaki anahtar kelimeler – SELECT (veritabanından bilgi almak için dikte eder), FROM (söz konusu verileri içeren belirli tablo) ve NEREDE (bilgiye erişim kriterlerini belirler). Bu anahtar kelimeleri kullandığınızda, SQL sorgunuz şöyle görünecektir:

tblAlbums'tan albüm başlığını seçin

NEREDE derecelendirme >= 9;

Bu nedenle, albüm derecelendirmesinin (WHERE) 9 veya üzeri olduğu “tblAlbums” tablosundan (FROM) verileri seçiyorsunuz (SEÇ). Önemli miktarda iç içe mantık varsa, WHERE ifadesi çok basit veya aşırı karmaşık olabilir. Sorguyu çalıştırdığınızda aşağıdaki sonucu alırsınız:

Albüm başlığı

D Minor'da Senfoni

şairin kalbi

Artık SQL sorgularının ne olduğu ve nasıl çalıştıkları hakkında temel bir anlayışa sahip olduğunuza göre, yirmi SQL sorgusu mülakat sorusuna göz atalım!

SQL sorgusu mülakat sorularına başlamadan önce, bu referans tablolarına göz atın – sorgularımız bu tablolara dayalı olacaktır.

Çalışan Bilgileri tablosu:

EmpID EmpFname EmpLname Bölüm proje Adres DOB Cinsiyet
1 Rohit Gupta yönetici P1 Delhi 02/12/1979 Erkek
2 Rahul mahajan yönetici P2 Bombay 10/10/1986 Erkek
3 Sonya şekerleme İK P3 punto 05/06/1983 Dişi
4 ankita Kapoor İK P4 Chennai 28/11/1983 Dişi
5 Svati gargara İK P5 Delhi 06/04/1991 Dişi

ÇalışanPozisyonu tablosu:

EmpID EmpPosition Katılım tarihi Aylık maaş
1 Yönetici 01/04/2020 75000
2 Yönetici 03/04/2020 500000
3 Yönetici 02/04/2020 150000
2 Subay 02/04/2020 90000
1 Yönetici 03/04/2020 300000

SQL Sorgusu Mülakat Soruları ve Cevapları

  1. EmpName olarak takma adı kullanarak EmpFname'yi büyük harfle EmployeeInfo tablosundan almak için bir sorgu yazın.

Bu koşul için sorgu şudur:

ÇalışanBilgisinden EmpName OLARAK UPPER(EmpFname) SEÇİN;

  1. 'İK' departmanında çalışan çalışan sayısını almak için bir sorgu yazın.

İşte bu talebin sorgusu:

COUNT(*) FROM EmployeeInfo NEREDE Departman = 'İK';

  1. Geçerli tarihi almak için hangi sorguyu yazacaksınız?

Geçerli tarihi almak için bu sorguyu SQL sunucusuna yazabilirsiniz:

GETDATE() SEÇİN;

Geçerli tarihi almak için bu sorguyu MySQL'e yazabilirsiniz:

SEÇ SİSTDATE();

  1. ÇalışanBilgisi tablosunun Adres sütunundan yalnızca yer adını (parantezlerden önceki dize) getirecek bir sorgu yazın.

Aşağıdaki sorguyu oluşturmak için MySQL'deki MID işlevini kullanabilirsiniz:

ÇalışanBilgisinden ORTA(Adres, 0, LOCATE('(',Adres)) SEÇİN;

Aşağıdaki sorguyu oluşturmak için SUBSTRING kullanabilirsiniz:

ÇalışanBilgisinden SUBSTRING(Adres, 1, CHARINDEX('(',Adres)) SEÇİN;

Devamını Okuyun: Veri Bilimi için SQL: Neden SQL

  1. Verileri ve yapısı başka bir tablodan kopyalanan yeni bir tablo oluşturmak için bir sorgu yazın.

Aşağıdaki sorguyu oluşturmak için SELECT INTO komutunu kullanabilirsiniz:

1 = 0 NEREDE ÇalışanBilgisinden Yeni Tabloya * SEÇİN;

Aşağıdaki sorguyu oluşturmak için MySQL'de CREATE komutunu kullanabilirsiniz:

SELECT OLARAK TABLO OLUŞTURUN NewTable * FROM EmployeeInfo;

  1. 'S' ile başlayan çalışanların isimlerini görüntülemek için bir sorgu yazın.

İsimleri 'S' ile başlayan çalışanların isimlerini almak için yazmanız gereken sorgu şudur:

'S%' GİBİ EmpFname YERİNDE ÇalışanBilgisinden * SEÇİN;

  1. En üstteki N kaydı almak için bir sorgu yazın.

SQL Server'da TOP komutunu kullanarak bir sorgu yazabilirsiniz:

ÜST N SEÇİN * Maaş AÇIKLAMAYA GÖRE ÇALIŞAN Pozisyonu SIRASINDAN;

MySQL'de LIMIT komutunu kullanarak da bir sorgu oluşturabilirsiniz:

EmpPosition'DAN * SEÇİNİZ MAAŞA GÖRE SİPARİŞ DESC LIMIT N;

  1. Departman tarafından artan sırada ve EmpLname azalan sırada sıralanan Çalışan Bilgileri tablosundan ilgili kayıtları almak için bir sorgu yazın.

Bunun için SQL'de ORDER BY deyimini kullanmanız gerekir;

SEÇİN * Çalışan Bilgilerinden Departmana GÖRE SİPARİŞ artan, EmpFname azalan;

  1. EmpFname'si 'A' ile biten çalışanların ayrıntılarını almak için bir sorgu yazın.

Bu sorun için bir sorgu oluşturmak için SQL'de LIKE operatörünü kullanabilirsiniz:

'____a' GİBİ EmpFname YERİNDE, EmployeeInfo'DAN * SEÇİN;

10.Adresi “DELHI” olan çalışanların ayrıntılarını almak için bir sorgu oluşturun.

'DELHI%' GİBİ Adres NEREDE Çalışan Bilgisinden * SEÇİN;

Okuyun: 2020'de En İyi 9 Veri Bilimi Aracı

  1. Yönetim pozisyonuna da sahip olan tüm çalışanları getirmek için bir sorgu yazın.

Herhangi bir SQL Mülakat Soru ve Cevap kılavuzu bu soru olmadan tamamlanmayacaktır.

Yönetici pozisyonundaki çalışanları almak için sorgu:

E.EmpFname, E.EmpLname, P.EmpPosition SEÇİN

FROM EmployeeInfo E INNER JOIN EmployeePosition P ON

E.EmpID = P.EmpID VE P.EmpPosition IN ('Yönetici');

  1. EmployeeInfo tablosundan ilk ve son kayıtları oluşturmak için bir sorgu oluşturun.

En yaygın SQL mülakat sorularından biri.

İşte EmployeeInfo tablosundan ilk kaydı getirecek sorgu:

* SELECT * FROM EmployeeInfo NEREDE EmpID = (Çalışan Bilgisinden MIN(EmpID) SEÇİN);

EmployeeInfo tablosundan son kaydı almak için sorgu:

SELECT * FROM EmployeeInfo NEREDE EmpID = (Çalışan Bilgisinden MAX(EmpID) SEÇİN);

  1. Sorguya iletilen değerin EmployeeInfo ve EmployeePosition tablolarının tarih biçimini takip edip etmediğini kontrol etmek için bir sorgu oluşturun.

SQL'de IsDate() işlevini, iletilen değerin belirtilen biçimi izleyip izlemediğini kontrol etmek için kullanabilirsiniz. Buna göre 1(doğru) veya 0(yanlış) döndürür. Sorgunun nasıl görüneceği aşağıda açıklanmıştır:

ISDATE('01/04/2020′)'yi “AA/GG/YY” OLARAK SEÇİN;

Bu sorguyu çalıştırmak, iletilen değer belirtilen biçimle eşleşmediğinden 0 döndürür.

  1. 150000'e eşit veya daha yüksek maaşları olan görüntülü çalışanları elde etmek için bir sorgu oluşturun.

Bu istek için sorgu şöyle olacaktır:

Maaş>=150000;

  1. Bir tarih kullanarak yılı almak için bir sorgu yazın.

Aşağıdaki sorguyu çalıştırarak bir SQL sunucusundaki bir tarihten yılı alabilirsiniz:

YEAR(GETDATE()) öğesini “Yıl” olarak seçin;

  1. EmpPostion'ı ve her çalışan pozisyonu için ödenen toplam maaşı almak için bir SQL sorgusu oluşturun.

Bu istek için sorgu şudur:

EmpPosition TARAFINDAN EmployeePosition GROUP'tan EmpPosition, SUM(Maaş) SEÇİN;

  1. Bir tablodan yinelenen kayıtları bulmak için bir sorgu yazın.

Herhangi bir SQL mülakat soru ve cevap kılavuzunda en sık sorulan sorulardan biridir.

SELECT EmpID, EmpFname, Departman SAYISI(*)

EmpID, EmpFname, Department TARAFINDAN EmployeeInfo GROUP'DAN

COUNT(*) > 1 OLAN;

  1. EmpPosition tablosundan üçüncü en yüksek maaşı almak için bir sorgu oluşturun.

İLK 1 maaşı SEÇ

İTİBAREN(

İLK 3 maaşı SEÇ

çalışan_table'dan

Maaş TARAFINDAN SİPARİŞ DESC) emp olarak

Maaş TARAFINDAN SİPARİŞ ASC;

  1. EmployeeInfo tablosunda çift ve tek kayıtları bulmak için bir SQL sorgusu yazın.

Bir tablodan çift ve tek kayıtları almak için MOD() işlevini kullanmanız gerekir. Eşit kayıtlar için sorgu şöyle olacaktır:

SELECT FROM (rowno SEÇ, EmployeeInfo'dan EmpID) WHERE MOD(rowno,2)=0;

Tek kayıtlar için sorgu şöyle olacaktır:

SELECT FROM (rowno SEÇ, EmployeeInfo'dan EmpID) WHERE MOD(rowno,2)=1;

  1. Aynı departmanın çalışanlarının listesini getirmek için bir sorgu oluşturun.

İşte bu isteğin sorgusu:

AYRI E.EmpID, E.EmpFname, E.DepartmentFROM ÇalışanBilgisi E, Çalışan E1'i seçin

NEREDE E.Department = E1.Department VE E.EmpID != E1.EmpID;

Dünyanın En İyi Üniversitelerinden Online Yazılım Kursları Öğrenin . Kariyerinizi hızlandırmak için Yönetici PG Programları, Gelişmiş Sertifika Programları veya Yüksek Lisans Programları kazanın.

Çözüm

Bununla birlikte SQL sorgusu mülakat soruları listemizin sonuna gelmiş oluyoruz. Bu sorguların size standart SQL sorgu modeli ve SQL sorgularının nasıl oluşturulacağı hakkında adil bir fikir vermesini umuyoruz. Ne kadar çok pratik yaparsanız, bir veri tablosundaki verilere erişmek ve bunları işlemek için SQL sorguları yazma konusunda o kadar iyi olursunuz.

SQL bilginizi geliştirmeyi ve tam yığın geliştirme hakkında daha fazlasını merak ediyorsanız, çalışan profesyoneller için oluşturulan ve 10'dan fazla vaka çalışması ve proje, pratik uygulamalı sunan IIIT-B & upGrad'ın Tam Yığın Yazılım Geliştirmede PG Diplomasına göz atın çalıştaylar, endüstri uzmanlarıyla mentorluk, endüstri mentorlarıyla bire bir, 400+ saat öğrenim ve en iyi firmalarla iş yardımı.

Geleceğin Kariyerine Hazırlanın

Tam Yığın Geliştirmede Executive PG Programına Şimdi Başvur