Database
 sql >> Database >  >> RDS >> Database

Le 30 principali domande di intervista sulle query SQL che devi esercitarti nel 2022

SQL o Structured Query Language è un linguaggio standard per gestire i database relazionali. Con l'enorme quantità di dati presenti, è molto importante per noi capire come utilizzare le query per recuperare i dati richiesti. In questo articolo sulle domande di intervista di SQL Query, discuterò alcune domande che devi esercitarti per diventare un amministratore di database e ti aiuterà anche a superare le tue interviste.

Domande principali sull'intervista sulle query SQL

Per la tua migliore comprensione, prenderò in considerazione le seguenti tabelle per scrivere le query.

Tabella Informazioni sui dipendenti:

EmpID

EmpFname

EmpLname

Reparto

Progetto

Indirizzo

DOB

Sesso

1

Sanjay

Mehra

HR

P1

Hyderabad(HYD)

01/12/1976

M

2

Ananya

Mishra

Amministratore

P2

Delhi(DEL)

02/05/1968

F

3

Rohan

Diwan

Account

P3

Mumbai(BOM)

01/01/1980

M

4

Sonia

Kulkarni

HR

P1

Hyderabad(HYD)

02/05/1992

F

5

Ankit

Kapoor

Amministratore

P2

Delhi(DEL)

07/03/1994

M

Tabella posizione dipendente:

EmpID

EmpPosition

Data di adesione

Stipendio

1

Gestore

01/05/2022

500000

2

Executive

05/02/2022

75000

3

Gestore

01/05/2022

90000

2

Lead

05/02/2022

85000

1

Executive

01/05/2022

300000

Iniziamo dando un'occhiata ad alcune delle domande più frequenti dell'intervista su SQL Query,

  • Scrivi una query per recuperare EmpFname dalla tabella EmployeeInfo in maiuscolo e utilizza il nome ALIAS come EmpName.
  • Scrivi una query per recuperare il numero di dipendenti che lavorano nel dipartimento "Risorse umane".
  • Scrivi una query per ottenere la data corrente.
  • Scrivi una query per recuperare i primi quattro caratteri di EmpLname dalla tabella EmployeeInfo.
  • Scrivi una query per recuperare solo il nome del luogo (stringa prima delle parentesi) dalla colonna Indirizzo della tabella EmployeeInfo.
  • Scrivi una query per creare una nuova tabella composta da dati e struttura copiati dall'altra tabella.
  • Scrivi q query per trovare tutti i dipendenti il ​​cui stipendio è compreso tra 50000 e 100000.
  • Scrivi una query per trovare i nomi dei dipendenti che iniziano con "S"
  • Scrivi una query per recuperare i primi N record.
  • Scrivere una query per recuperare EmpFname e EmpLname in una singola colonna come "FullName". Il nome e il cognome devono essere separati da uno spazio.

Q1. Scrivi una query per recuperare EmpFname dalla tabella EmployeeInfo in maiuscolo e utilizza il nome ALIAS come EmpName.

SELECT UPPER(EmpFname) AS EmpName FROM EmployeeInfo;

Q2. Scrivi una query per recuperare il numero di dipendenti che lavorano nel dipartimento "Risorse umane".

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

T3. Scrivi una query per ottenere la data corrente.

È possibile scrivere una query come segue in SQL Server:

SELECT GETDATE();

Puoi scrivere una query come segue in MySQL:

SELECT SYSTDATE();

Q4. Scrivi una query per recuperare i primi quattro caratteri di EmpLname dalla tabella EmployeeInfo.

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

Q5. Scrivi una query per recuperare solo il nome del luogo (stringa prima delle parentesi) dalla colonna Indirizzo della tabella EmployeeInfo.

Utilizzando la funzione MID in MySQL

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

Q6. Scrivi una query per creare una nuova tabella composta da dati e struttura copiati dall'altra tabella.

Utilizzando il comando SELEZIONA IN:

SELECT * INTO NewTable FROM EmployeeInfo WHERE 1 = 0;

Utilizzando il comando CREATE in MySQL:

CREATE TABLE NewTable AS SELECT * FROM EmployeeInfo;

Q7. Scrivi q query per trovare tutti i dipendenti il ​​cui stipendio è compreso tra 50000 e 100000.

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

D8. Scrivi una query per trovare i nomi dei dipendenti che iniziano con "S"

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

Q9. Scrivi una query per recuperare i primi N record.

Utilizzando il comando TOP in SQL Server:

SELECT TOP N * FROM EmployeePosition ORDER BY Salary DESC;

Usando il comando LIMIT in MySQL:

SELECT * FROM EmpPosition ORDER BY Salary DESC LIMIT N;

Q10. Scrivi una query per recuperare EmpFname e EmpLname in una singola colonna come "FullName". Il nome e il cognome devono essere separati da uno spazio.

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

Q11. Scrivi una query per trovare il numero di dipendenti il ​​cui DOB è compreso tra il 05/02/1970 e il 31/12/1975 e sono raggruppati per genere

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

Q12. Scrivi una query per recuperare tutti i record dalla tabella EmployeeInfo ordinati per EmpLname in ordine decrescente e Department in ordine crescente.

Per ordinare i record in ordine crescente e decrescente, devi utilizzare l'istruzione ORDER BY in SQL.

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

Q13. Scrivi una query per recuperare i dettagli dei dipendenti il ​​cui EmpLname termina con una "A" alfabetica e contiene cinque alfabeti.

Per recuperare i dettagli che corrispondono a un determinato valore, devi utilizzare l'operatore LIKE in SQL.

 
SELECT * FROM EmployeeInfo WHERE EmpLname LIKE '____a';

Q14. Scrivi una query per recuperare i dettagli di tutti i dipendenti esclusi i dipendenti con nomi, "Sanjay" e "Sonia" dalla tabella EmployeeInfo.

 
SELECT * FROM EmployeeInfo WHERE EmpFname NOT IN ('Sanjay','Sonia');
Vuoi migliorare te stesso per andare avanti nella tua carriera? Guarda questo video

Le 10 migliori tecnologie da apprendere nel 2022 | Edureka

Q15. Scrivi una query per recuperare i dettagli dei dipendenti con l'indirizzo "DELHI(DEL)".

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

Q16. Scrivi una query per recuperare tutti i dipendenti che ricoprono anche la posizione manageriale.

 
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. Scrivi una query per recuperare il dipartimento conteggio graduale dei dipendenti ordinato in base al conteggio del reparto in ordine crescente.

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

Q18. Scrivi una query per calcolare i record pari e dispari da una tabella.

Per recuperare i record pari da una tabella, devi utilizzare la funzione MOD() come segue:

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

Allo stesso modo, per recuperare i record dispari da una tabella, puoi scrivere una query come segue:

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

Q19. Scrivi una query SQL per recuperare i dettagli dei dipendenti dalla tabella EmployeeInfo che hanno una data di adesione nella tabella EmployeePosition.

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

Q20. Scrivi una query per recuperare due stipendi minimo e massimo dalla tabella EmployeePosition.

Per recuperare due stipendi minimi, puoi scrivere una query come di seguito:

 
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. Scrivi una query per trovare l'ennesimo stipendio più alto dalla tabella senza utilizzare la parola chiave TOP/limit.

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

Q22. Scrivi una query per recuperare i record duplicati da una tabella.

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

Q23. Scrivi una query per recuperare l'elenco dei dipendenti che lavorano nello stesso reparto.

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

Q24. Scrivi una query per recuperare gli ultimi 3 record dalla tabella 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. Scrivi una query per trovare il terzo stipendio più alto dalla tabella EmpPosition.

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

Q26. Scrivi una query per visualizzare il primo e l'ultimo record dalla tabella EmployeeInfo.

Per visualizzare il primo record dalla tabella EmployeeInfo, puoi scrivere una query come segue:

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

Per visualizzare l'ultimo record dalla tabella EmployeeInfo, puoi scrivere una query come segue:

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

Q27. Scrivi una query per aggiungere la convalida dell'e-mail al tuo database

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

Q28. Scrivi una query per recuperare i reparti che hanno meno di 2 dipendenti che lavorano in essa.

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

Q29. Scrivi una query per recuperare EmpPostion insieme agli stipendi totali pagati per ciascuno di essi.

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

Q30. Scrivi una query per recuperare il 50% dei record dalla tabella EmployeeInfo.

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

Quindi questo ci porta alla fine dell'articolo Domande sull'intervista di SQL Query. Spero che questa serie di domande per il colloquio di query SQL ti aiuti a superare il tuo colloquio di lavoro. Ti auguro il meglio per il tuo colloquio!

Dai un'occhiata a questo corso di certificazione DBA MySQL di Edureka, un'azienda affidabile di formazione online con una rete di di oltre 250.000 studenti soddisfatti sparsi in tutto il mondo. Questo corso ti insegna i concetti fondamentali e gli strumenti e le tecniche avanzati per gestire i dati e amministrare il database MySQL. Include l'apprendimento pratico su concetti come MySQL Workbench, MySQL Server, Data Modeling, MySQL Connector, Database Design, MySQL Command line, MySQL Functions, ecc. Alla fine della formazione sarai in grado di creare e amministrare il tuo database MySQL e gestire i dati.

Hai una domanda per noi? Si prega di menzionarlo nella sezione commenti di questa "Query SQL Domande per il colloquio” e ti risponderemo il prima possibile.