Database
 sql >> Teknologi Basis Data >  >> RDS >> Database

30 Pertanyaan Wawancara Kueri SQL Teratas yang Harus Anda Latih Pada 2022

SQL atau Structured Query Language adalah bahasa standar untuk menangani database relasional. Dengan jumlah data yang sangat banyak, sangat penting bagi kami untuk memahami cara menggunakan kueri untuk mengambil data yang diperlukan. Dalam artikel tentang Pertanyaan Wawancara Kueri SQL ini, saya akan membahas beberapa pertanyaan yang harus Anda praktikkan untuk menjadi Administrator Basis Data dan juga akan membantu Anda menguasai wawancara.

Pertanyaan Wawancara Kueri SQL Teratas

Untuk pemahaman Anda yang lebih baik, saya akan mempertimbangkan tabel berikut untuk menulis kueri.

Tabel Info Karyawan:

EmpID

EmpFname

EmpLname

Departemen

Proyek

Alamat

DOB

Jenis Kelamin

1

Sanjay

Mehra

HR

P1

Hyderabad(HYD)

01/12/1976

M

2

Ananya

Mishra

Admin

P2

Delhi(DEL)

05/02/1968

F

3

Rohan

Diwan

Akun

P3

Mumbai(BOM)

01/01/1980

M

4

Sonia

Kulkarni

HR

P1

Hyderabad(HYD)

05/02/1992

F

5

Ankit

Kapoor

Admin

P2

Delhi(DEL)

07/03/1994

M

Tabel Posisi Karyawan:

EmpID

EmpPosition

Tanggal Bergabung

Gaji

1

Manajer

05/01/2022

500000

2

Eksekutif

05/02/2022

75000

3

Manajer

05/01/2022

90000

2

Prospek

05/02/2022

85000

1

Eksekutif

05/01/2022

300000

Mari kita mulai dengan melihat beberapa pertanyaan wawancara SQL Query yang paling sering ditanyakan,

  • Tulis kueri untuk mengambil EmpFname dari tabel EmployeeInfo dalam huruf besar dan gunakan nama ALIAS sebagai EmpName.
  • Tulis kueri untuk mengambil jumlah karyawan yang bekerja di departemen 'HR'.
  • Tulis kueri untuk mendapatkan tanggal saat ini.
  • Tulis kueri untuk mengambil empat karakter pertama EmpLname dari tabel EmployeeInfo.
  • Tulis kueri untuk mengambil hanya nama tempat (string sebelum tanda kurung) dari kolom Alamat tabel EmployeeInfo.
  • Tulis kueri untuk membuat tabel baru yang terdiri dari data dan struktur yang disalin dari tabel lain.
  • Tulis kueri q untuk menemukan semua karyawan yang gajinya antara 50.000 hingga 100.000.
  • Tulis kueri untuk menemukan nama karyawan yang dimulai dengan 'S'
  • Tulis kueri untuk mengambil catatan N teratas.
  • Tulis kueri untuk mengambil EmpFname dan EmpLname dalam satu kolom sebagai “Nama Lengkap”. Nama depan dan nama belakang harus dipisahkan dengan spasi.

Q1. Tulis kueri untuk mengambil EmpFname dari tabel EmployeeInfo dalam huruf besar dan gunakan nama ALIAS sebagai EmpName.

SELECT UPPER(EmpFname) AS EmpName FROM EmployeeInfo;

Q2. Tulis kueri untuk mengambil jumlah karyawan yang bekerja di departemen 'HR'.

SELECT COUNT(*) FROM EmployeeInfo WHERE Department = 'HR';

Q3. Tulis kueri untuk mendapatkan tanggal saat ini.

Anda dapat menulis kueri sebagai berikut di SQL Server:

SELECT GETDATE();

Anda dapat menulis kueri sebagai berikut di MySQL:

SELECT SYSTDATE();

Q4. Tulis kueri untuk mengambil empat karakter pertama EmpLname dari tabel EmployeeInfo.

SELECT SUBSTRING(EmpLname, 1, 4) FROM EmployeeInfo;

Q5. Tulis kueri untuk mengambil hanya nama tempat (string sebelum tanda kurung) dari kolom Alamat tabel EmployeeInfo.

Menggunakan fungsi MID di MySQL

SELECT MID(Address, 0, LOCATE('(',Address)) FROM EmployeeInfo;
Using SUBSTRING
SELECT SUBSTRING(Address, 1, CHARINDEX('(',Address)) FROM EmployeeInfo;

Q6. Tulis kueri untuk membuat tabel baru yang terdiri dari data dan struktur yang disalin dari tabel lain.

Menggunakan perintah SELECT INTO:

SELECT * INTO NewTable FROM EmployeeInfo WHERE 1 = 0;

Menggunakan perintah CREATE di MySQL:

CREATE TABLE NewTable AS SELECT * FROM EmployeeInfo;

Q7. Tulis kueri q untuk menemukan semua karyawan yang gajinya antara 50000 hingga 100.000.

SELECT * FROM EmployeePosition WHERE Salary BETWEEN '50000' AND '100000';

Q8. Tulis kueri untuk menemukan nama karyawan yang dimulai dengan 'S'

SELECT * FROM EmployeeInfo WHERE EmpFname LIKE 'S%';

Q9. Tulis kueri untuk mengambil catatan N teratas.

Dengan menggunakan perintah TOP di SQL Server:

SELECT TOP N * FROM EmployeePosition ORDER BY Salary DESC;

Dengan menggunakan perintah LIMIT di MySQL:

SELECT * FROM EmpPosition ORDER BY Salary DESC LIMIT N;

Q10. Tulis kueri untuk mengambil EmpFname dan EmpLname dalam satu kolom sebagai "Nama Lengkap". Nama depan dan nama belakang harus dipisahkan dengan spasi.

SELECT CONCAT(EmpFname, ' ', EmpLname) AS 'FullName' FROM EmployeeInfo;

Q11. Tulis kueri temukan jumlah karyawan yang DOBnya antara 02/05/1970 hingga 31/12/1975 dan dikelompokkan menurut jenis kelamin

SELECT COUNT(*), Gender FROM EmployeeInfo WHERE DOB BETWEEN '02/05/1970 ' AND '31/12/1975' GROUP BY Gender;

Q12. Tulis kueri untuk mengambil semua catatan dari tabel EmployeeInfo yang diurutkan oleh EmpLname dalam urutan menurun dan Departemen dalam urutan menaik.

Untuk mengurutkan record dalam urutan menaik dan menurun, Anda harus menggunakan pernyataan ORDER BY dalam SQL.

SELECT * FROM EmployeeInfo ORDER BY EmpFname desc, Department asc;

Q13. Tulis kueri untuk mengambil detail karyawan yang EmpLname-nya diakhiri dengan abjad 'A' dan berisi lima abjad.

Untuk mengambil detail dengan menghitung nilai tertentu, Anda harus menggunakan operator LIKE di SQL.

 
SELECT * FROM EmployeeInfo WHERE EmpLname LIKE '____a';

Q14. Tulis kueri untuk mengambil detail semua karyawan kecuali karyawan dengan nama depan, “Sanjay” dan “Sonia” dari tabel EmployeeInfo.

 
SELECT * FROM EmployeeInfo WHERE EmpFname NOT IN ('Sanjay','Sonia');
Ingin meningkatkan keterampilan diri Anda untuk maju dalam karir Anda? Lihat video ini

10 Teknologi Teratas untuk Dipelajari pada 2022 | Edureka

Q15. Tulis kueri untuk mengambil detail karyawan dengan alamat sebagai “DELHI(DEL)”.

 
SELECT * FROM EmployeeInfo WHERE Address LIKE 'DELHI(DEL)%';

Q16. Tulis kueri untuk mengambil semua karyawan yang juga memegang posisi manajerial.

 
SELECT E.EmpFname, E.EmpLname, P.EmpPosition 
FROM EmployeeInfo E INNER JOIN EmployeePosition P ON 
E.EmpID = P.EmpID AND P.EmpPosition IN ('Manager');

Q17. Tulis kueri untuk mengambil departemen -jumlah karyawan yang diurutkan berdasarkan jumlah departemen dalam urutan menaik.

 
SELECT Department, count(EmpID) AS EmpDeptCount 
FROM EmployeeInfo GROUP BY Department 
ORDER BY EmpDeptCount ASC;

Q18. Tulis kueri untuk menghitung record genap dan ganjil dari sebuah tabel.

Untuk mengambil record genap dari tabel, Anda harus menggunakan fungsi MOD() sebagai berikut:

 
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=0;

Demikian pula, untuk mengambil data ganjil dari tabel, Anda dapat menulis kueri sebagai berikut:

 
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=1;

Q19. Tulis kueri SQL untuk mengambil detail karyawan dari tabel EmployeeInfo yang memiliki tanggal bergabung dalam tabel EmployeePosition.

 
SELECT * FROM EmployeeInfo E 
WHERE EXISTS 
(SELECT * FROM EmployeePosition P WHERE E.EmpId = P.EmpId);

Q20. Tulis kueri untuk mengambil dua gaji minimum dan maksimum dari tabel EmployeePosition.

Untuk mengambil dua gaji minimum, Anda dapat menulis kueri seperti di bawah ini:

 
SELECT DISTINCT Salary FROM EmployeePosition E1 
 WHERE 2 >= (SELECTCOUNT(DISTINCT Salary)FROM EmployeePosition E2 
  WHERE E1.Salary >= E2.Salary) ORDER BY E1.Salary DESC;
To retrieve two maximum salaries, you can write a query as below: 
 
SELECT DISTINCT Salary FROM EmployeePosition E1 
 WHERE 2 >= (SELECTCOUNT(DISTINCT Salary) FROM EmployeePosition E2 
  WHERE E1.Salary <= E2.Salary) ORDER BY E1.Salary DESC;

Q21. Tulis kueri untuk menemukan gaji tertinggi ke-N dari tabel tanpa menggunakan kata kunci TOP/limit.

 
SELECT Salary 
FROM EmployeePosition E1 
WHERE N-1 = ( 
      SELECT COUNT( DISTINCT ( E2.Salary ) ) 
	  FROM EmployeePosition E2 
	  WHERE E2.Salary >  E1.Salary );

Q22. Tulis kueri untuk mengambil rekaman duplikat dari tabel.

 
SELECT EmpID, EmpFname, Department COUNT(*) 
FROM EmployeeInfo GROUP BY EmpID, EmpFname, Department 
HAVING COUNT(*) > 1;

Q23. Tulis kueri untuk mengambil daftar karyawan yang bekerja di departemen yang sama.

 
Select DISTINCT E.EmpID, E.EmpFname, E.Department 
FROM EmployeeInfo E, Employee E1 
WHERE E.Department = E1.Department AND E.EmpID != E1.EmpID;

Q24. Tulis kueri untuk mengambil 3 catatan terakhir dari tabel EmployeeInfo.

SELECT * FROM EmployeeInfo WHERE 
EmpID <=3 UNION SELECT * FROM 
(SELECT * FROM EmployeeInfo E ORDER BY E.EmpID DESC) 
AS E1 WHERE E1.EmpID <=3;

Q25. Tulis kueri untuk menemukan gaji tertinggi ketiga dari tabel EmpPosition.

SELECT TOP 1 salary
FROM(
SELECT TOP 3 salary
FROM employee_table
ORDER BY salary DESC) AS emp
ORDER BY salary ASC;

Q26. Tulis kueri untuk menampilkan record pertama dan terakhir dari tabel EmployeeInfo.

Untuk menampilkan record pertama dari tabel EmployeeInfo, Anda dapat menulis query sebagai berikut:

SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MIN(EmpID) FROM EmployeeInfo);

Untuk menampilkan record terakhir dari tabel EmployeeInfo, Anda dapat menulis query sebagai berikut:

SELECT * FROM EmployeeInfo WHERE EmpID = (SELECT MAX(EmpID) FROM EmployeeInfo);

Q27. Tulis kueri untuk menambahkan validasi email ke database Anda

SELECT Email FROM EmployeeInfo WHERE NOT REGEXP_LIKE(Email, ‘[A-Z0-9._%+-]+@[A-Z0-9.-]+.[A-Z]{2,4}’, ‘i’);

Q28. Tulis kueri untuk mengambil Departemen yang memiliki kurang dari 2 karyawan yang bekerja di dalamnya.

SELECT DEPARTMENT, COUNT(EmpID) as 'EmpNo' FROM EmployeeInfo GROUP BY DEPARTMENT HAVING COUNT(EmpD) < 2;

Q29. Tulis kueri untuk mengambil EmpPostion bersama dengan total gaji yang dibayarkan untuk masing-masingnya.

SELECT EmpPosition, SUM(Salary) from EmployeePosition GROUP BY EmpPosition;

Q30. Tulis kueri untuk mengambil 50% catatan dari tabel EmployeeInfo.

SELECT * 
FROM EmployeeInfo WHERE 
EmpID <= (SELECT COUNT(EmpID)/2 from EmployeeInfo);

Jadi, ini membawa kita ke akhir artikel Pertanyaan Wawancara Kueri SQL. Saya harap kumpulan Pertanyaan Wawancara Kueri SQL ini akan membantu Anda menguasai wawancara kerja. Semua yang terbaik untuk wawancara Anda!

Lihat Pelatihan Sertifikasi DBA MySQL ini oleh Edureka, perusahaan pembelajaran online tepercaya dengan jaringan olebih dari 250.000 pelajar yang puas tersebar di seluruh dunia. Kursus ini melatih Anda tentang konsep inti &alat dan teknik lanjutan untuk mengelola data dan mengelola Database MySQL. Ini mencakup pembelajaran langsung tentang konsep-konsep seperti MySQL Workbench, Server MySQL, Pemodelan Data, Konektor MySQL, Desain Basis Data, Baris Perintah MySQL, Fungsi MySQL, dll. Di akhir pelatihan, Anda akan dapat membuat dan mengelola Basis Data MySQL Anda sendiri dan mengelola data.

Ada pertanyaan untuk kami? Silakan sebutkan di bagian komentar dari “SQL Query . ini Pertanyaan Wawancara” artikel dan kami akan menghubungi Anda sesegera mungkin.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Pelajari Dasar-dasar Pencatatan Java

  2. Apakah Berkembangnya Informasi Kontak Berarti Mengubah Basis Data Anda?

  3. Dapatkan dinyalakan oleh Apache Spark – Bagian 2

  4. Desain Basis Data Dengan Vertabelo

  5. Aljabar Relasional