om du vill förbättra SQL-färdigheter installerar du ett SQL-paket som MySQL och börjar träna med det. För att komma igång har vi beskrivit några SQL-frågefrågor i det här inlägget.
att lösa övningsfrågor är det snabbaste sättet att lära sig något ämne. Därför har vi valt en uppsättning 50 SQL-frågor som du kan använda för att öka ditt lärande. Vi har också gett SQL-skript för att skapa testdata., Så, du kan använda dem för att skapa en testdatabas och tabeller.
de flesta SQL-frågefrågorna vi har filtrerat ur intervjuer som innehas av top it MNC som Flipkart och Amazon. Så du får erfarenhet i realtid genom att gå igenom dem.
Vi rekommenderar också att du först försöker skapa frågor själv istället för att bara läsa dem från inlägget. Försök hitta svar på egen hand.
men du kan inte starta förrän de provdata som krävs inte är på plats. Du kan kolla in tabellerna nedan som vi har gett för praktiken., Så först och främst måste du skapa testdata i din databasprogramvara.
förresten, vi har en massa andra inlägg tillgängliga för SQL intervju förberedelse. Så om du är intresserad, följ sedan länken nedan.
Låt oss börja lära SQL.
förbereda provdata för att öva SQL skicklighet.,000
2014-01-20 09:00:00
Account
008
Geetika
Chauhan
90000
2014-04-11 09:00:00
Admin
Sample Table – Bonus
Sample Table – Title
To prepare the sample data, you can run the following queries in your database query executor or on the SQL command line., Vi har testat dem med MySQL Server 5.7 och MySQL Workbench 6.3.8 frågewebbläsare. Du kan också ladda ner dessa programvaror och installera dem för att fortsätta SQL-övningen.
SQL Script till Seed Sample Data.
en gång ovanför SQL skulle köras ser du ett resultat som liknar det som bifogas nedan.
50 SQL Frågefrågor och svar för praktiken.
Q-1., Skriv en SQL-fråga för att hämta ”FIRST_NAME”från Arbetstabell med aliasnamnet som <WORKER_NAME>.
Ans.
den begärda frågan är:
Select FIRST_NAME AS WORKER_NAME from Worker;
Q-2. Skriv en SQL-fråga för att hämta ”FIRST_NAME” från arbetsbordet i övre fallet.
Ans.
den begärda frågan är:
Select upper(FIRST_NAME) from Worker;
Q-3. Skriv en SQL-fråga för att hämta unika värden för avdelningen från arbetsbordet.
Ans.
den begärda frågan är:
Select distinct DEPARTMENT from Worker;
Q-4., Skriv en SQL-fråga för att skriva ut de tre första tecknen i förnamn från arbetsbordet.
Ans.
den begärda frågan är:
Select substring(FIRST_NAME,1,3) from Worker;
Q-5. Skriv en SQL-fråga för att hitta positionen för alfabetet (”A”) i kolumnen förnamn ”Amitabh” från arbetsbordet.
Ans.
den begärda frågan är:
Select INSTR(FIRST_NAME, BINARY'a') from Worker where FIRST_NAME = 'Amitabh';
anmärkningar.
- INSTR-metoden är som standard skiftlägeskänslig.
- med binär operatör kommer att göra INSTR arbete som skiftlägeskänslig funktion.
Q-6., Skriv en SQL-fråga för att skriva ut det FÖRSTA_NAMNET från arbetsbordet efter att ha tagit bort vita mellanslag från höger sida.
Ans.
den begärda frågan är:
Select RTRIM(FIRST_NAME) from Worker;
Q-7. Skriv en SQL-fråga för att skriva ut avdelningen från arbetsbordet efter att ha tagit bort vita mellanslag från vänster sida.
Ans.
den begärda frågan är:
Select LTRIM(DEPARTMENT) from Worker;
Q-8. Skriv en SQL-fråga som hämtar de unika värdena för avdelningen från arbetsbordet och skriver ut dess längd.
Ans.
den begärda frågan är:
Select distinct length(DEPARTMENT) from Worker;
Q-9., Skriv en SQL-fråga för att skriva ut Förstnamnet från arbetsbordet efter att ha ersatt ” A ” med ”A”.
Ans.
den begärda frågan är:
Select REPLACE(FIRST_NAME,'a','A') from Worker;
Q-10. Skriv en SQL-fråga för att skriva ut förnamn och efternamn från arbetsbordet i en enda kolumn COMPLETE_NAME. Ett utrymme röding bör skilja dem.
Ans.
den önskade frågan är:
Select CONCAT(FIRST_NAME, ' ', LAST_NAME) AS 'COMPLETE_NAME' from Worker;
Q-11. Skriv en SQL-fråga för att skriva ut alla arbetsinformation från Arbetstabellordern av FIRST_NAME stigande.
Ans.
den begärda frågan är:
Select * from Worker order by FIRST_NAME asc;
Q-12., Skriv en SQL-fråga för att skriva ut alla arbetsinformation från Arbetstabellordern av FIRST_NAME Ascending och DEPARTMENT Descending.
Ans.
den begärda frågan är:
Select * from Worker order by FIRST_NAME asc,DEPARTMENT desc;
Q-13. Skriv en SQL-fråga för att skriva ut detaljer för arbetstagare med förnamn som ”Vipul” och ”Satish” från arbetsbordet.
Ans.
den önskade frågan är:
Select * from Worker where FIRST_NAME in ('Vipul','Satish');
Q-14. Skriv en SQL-fråga för att skriva ut detaljer om arbetstagare exklusive förnamn, ”Vipul” och ”Satish” från arbetsbordet.
Ans.,
den begärda frågan är:
Select * from Worker where FIRST_NAME not in ('Vipul','Satish');
Q-15. Skriv en SQL-fråga för att skriva ut detaljer om arbetstagare med Avdelningsnamn som ”Admin”.
Ans.
den begärda frågan är:
Select * from Worker where DEPARTMENT like 'Admin%';
Q-16. Skriv en SQL-fråga för att skriva ut information om de arbetstagare vars förnamn innehåller ”a”.
Ans.
den begärda frågan är:
Select * from Worker where FIRST_NAME like '%a%';
Q-17. Skriv en SQL-fråga för att skriva ut information om de arbetstagare vars förnamn slutar med ”a”.
Ans.
den begärda frågan är:
Select * from Worker where FIRST_NAME like '%a';
Q-18., Skriv en SQL-fråga för att skriva ut information om de arbetare vars förnamn slutar med ” h ” och innehåller sex alfabet.
Ans.
den begärda frågan är:
Select * from Worker where FIRST_NAME like '_____h';
Q-19. Skriv en SQL-fråga för att skriva ut detaljer om arbetarna vars lön ligger mellan 100000 och 500000.
Ans.
den önskade frågan är:
Select * from Worker where SALARY between 100000 and 500000;
Q-20. Skriv en SQL-fråga för att skriva ut detaljer om de arbetstagare som har anslutit sig i februari 2014.
Ans.
den begärda frågan är:
Select * from Worker where year(JOINING_DATE) = 2014 and month(JOINING_DATE) = 2;
Q-21., Skriv en SQL-fråga för att hämta antalet anställda som arbetar i avdelningen ”Admin”.
Ans.
den önskade frågan är:
SELECT COUNT(*) FROM worker WHERE DEPARTMENT = 'Admin';
Q-22. Skriv en SQL-fråga för att hämta arbetsnamn med löner >= 50000 och< = 100000.
Ans.
den begärda frågan är:
Q-23. Skriv en SQL-fråga för att hämta Nej. av arbetare för varje avdelning i fallande ordning.
Ans.
den önskade frågan är:
SELECT DEPARTMENT, count(WORKER_ID) No_Of_Workers FROM worker GROUP BY DEPARTMENT ORDER BY No_Of_Workers DESC;
Q-24., Skriv en SQL-fråga för att skriva ut detaljer om arbetarna som också är Chefer.
Ans.
den begärda frågan är:
Q-25. Skriv en SQL-fråga för att hämta dubbletter med matchande data i vissa fält i en tabell.
Ans.
den begärda frågan är:
SELECT WORKER_TITLE, AFFECTED_FROM, COUNT(*)FROM TitleGROUP BY WORKER_TITLE, AFFECTED_FROMHAVING COUNT(*) > 1;
Q-26. Skriv en SQL-fråga för att visa endast udda rader från en tabell.
Ans.
den önskade frågan är:
SELECT * FROM Worker WHERE MOD (WORKER_ID, 2) <> 0;
Q-27. Skriv en SQL-fråga för att visa bara jämna rader från en tabell.
Ans.
den begärda frågan är:
SELECT * FROM Worker WHERE MOD (WORKER_ID, 2) = 0;
Q-28., Skriv en SQL-fråga för att klona en ny tabell från en annan tabell.
Ans.
den allmänna frågan att klona en tabell med data är:
SELECT * INTO WorkerClone FROM Worker;
det allmänna sättet att klona en tabell utan information är:
SELECT * INTO WorkerClone FROM Worker WHERE 1 = 0;
ett alternativt sätt att klona en tabell (för MySQL) utan is:
CREATE TABLE WorkerClone LIKE Worker;
Q-29. Skriv en SQL-fråga för att hämta korsande poster i två tabeller.
Ans.
den begärda frågan är:
(SELECT * FROM Worker)INTERSECT(SELECT * FROM WorkerClone);
Q-30. Skriv en SQL-fråga för att visa poster från en tabell som en annan tabell inte har.,
Ans.
den önskade frågan är:
SELECT * FROM WorkerMINUSSELECT * FROM Title;
Q-31. Skriv en SQL-fråga för att visa aktuellt datum och tid.
Ans.
följande MySQL-fråga returnerar det aktuella datumet:
SELECT CURDATE();
följande MySQL-fråga returnerar det aktuella datumet och tiden:
SELECT NOW();
följande SQL Server-fråga returnerar det aktuella datumet och tiden:
SELECT getdate();
följande Oracle-fråga det aktuella datumet och tiden:
SELECT getdate();
Efter Oracle-fråga returnerar det aktuella datumet och tiden:
Q-32. Skriv en SQL-fråga för att visa topp n (säg 10) poster i en tabell.,
Ans.
följande MySQL-fråga kommer att returnera de översta n-posterna med GRÄNSMETODEN:
SELECT * FROM Worker ORDER BY Salary DESC LIMIT 10;
följande SQL Server-fråga kommer att returnera de översta n-posterna med hjälp av TOPPKOMMANDOT:
SELECT TOP 10 * FROM Worker ORDER BY Salary DESC;
följande Oracle-fråga kommer att returnera de översta n-posterna med hjälp av ROWNUM:
SELECT * FROM (SELECT * FROM Worker ORDER BY Salary DESC)WHERE ROWNUM <= 10;
q-33. Skriv en SQL-fråga för att bestämma nth (säg n=5) högsta lön från en tabell.
Ans.,
följande MySQL-fråga returnerar den n: e högsta lönen:
SELECT Salary FROM Worker ORDER BY Salary DESC LIMIT n-1,1;
följande SQL Server-fråga returnerar den n: e högsta lönen:
SELECT TOP 1 SalaryFROM ( SELECT DISTINCT TOP n Salary FROM Worker ORDER BY Salary DESC )ORDER BY Salary ASC;
Q-34. Skriv en SQL-fråga för att bestämma den femte högsta lönen utan att använda TOP eller limit-metoden.
Ans.
följande fråga använder den korrelerade underkvationen för att returnera den femte högsta lönen:
SELECT SalaryFROM Worker W1WHERE 4 = ( SELECT COUNT( DISTINCT ( W2.Salary ) ) FROM Worker W2 WHERE W2.Salary >= W1.Salary );
använd följande generiska metod för att hitta nth högsta lön utan att använda topp eller gräns.
SELECT SalaryFROM Worker W1WHERE n-1 = ( SELECT COUNT( DISTINCT ( W2.Salary ) ) FROM Worker W2 WHERE W2.Salary >= W1.Salary );
F-35., Skriv en SQL-fråga för att hämta listan över anställda med samma lön.
Ans.
den begärda frågan är:
Q-36. Skriv en SQL-fråga för att visa den näst högsta lönen från en tabell.
Ans.
den begärda frågan är:
Select max(Salary) from Worker where Salary not in (Select max(Salary) from Worker);
Q-37. Skriv en SQL-fråga för att visa en rad två gånger i resultat från en tabell.
Ans.
den begärda frågan är:
Q-38. Skriv en SQL-fråga för att hämta korsande poster i två tabeller.
Ans.
den begärda frågan är:
(SELECT * FROM Worker)INTERSECT(SELECT * FROM WorkerClone);
Q-39., Skriv en SQL-fråga för att hämta de första 50% posterna från en tabell.
Ans.
den önskade frågan är:
SELECT *FROM WORKERWHERE WORKER_ID <= (SELECT count(WORKER_ID)/2 from Worker);
Q-40. Skriv en SQL-fråga för att hämta de avdelningar som har mindre än fem personer i den.
Ans.
den önskade frågan är:
SELECT DEPARTMENT, COUNT(WORKER_ID) as 'Number of Workers' FROM Worker GROUP BY DEPARTMENT HAVING COUNT(WORKER_ID) < 5;
Q-41. Skriv en SQL-fråga för att visa alla avdelningar tillsammans med antalet personer där inne.
Ans.
följande fråga returnerar det förväntade resultatet:
SELECT DEPARTMENT, COUNT(DEPARTMENT) as 'Number of Workers' FROM Worker GROUP BY DEPARTMENT;
Q-42. Skriv en SQL-fråga för att visa den sista posten från en tabell.
Ans.,
följande fråga returnerar den sista posten från arbetsbordet:
Select * from Worker where WORKER_ID = (SELECT max(WORKER_ID) from Worker);
Q-43. Skriv en SQL-fråga för att hämta den första raden i en tabell.
Ans.
den begärda frågan är:
Select * from Worker where WORKER_ID = (SELECT min(WORKER_ID) from Worker);
Q-44. Skriv en SQL-fråga för att hämta de senaste fem posterna från en tabell.
Ans.
den begärda frågan är:
Q-45. Skriv en SQL-fråga för att skriva ut namnet på anställda som har högsta lön i varje avdelning.
Ans.
den begärda frågan är:
SELECT t.DEPARTMENT,t.FIRST_NAME,t.Salary from(SELECT max(Salary) as TotalSalary,DEPARTMENT from Worker group by DEPARTMENT) as TempNew Inner Join Worker t on TempNew.DEPARTMENT=t.DEPARTMENT and TempNew.TotalSalary=t.Salary;
Q-46., Skriv en SQL-fråga för att hämta tre Max löner från en tabell.
Ans.
den begärda frågan är:
Q-47. Skriv en SQL-fråga för att hämta tre min löner från en tabell.
Ans.
den begärda frågan är:
Q-48. Skriv en SQL-fråga för att hämta nth max löner från en tabell.
Ans.
den begärda frågan är:
Q-49. Skriv en SQL-fråga för att hämta avdelningar tillsammans med de totala lönerna som betalas för var och en av dem.
Ans.
den begärda frågan är:
SELECT DEPARTMENT, sum(Salary) from worker group by DEPARTMENT;
Q-50., Skriv en SQL-fråga för att hämta namnen på arbetare som tjänar högsta lön.
Ans.
den begärda frågan är:
SELECT FIRST_NAME, SALARY from Worker WHERE SALARY=(SELECT max(SALARY) from Worker);
sammanfattning – 50 SQL Frågefrågor och svar för praktiken.
Låt oss ta en paus här. Men vi kommer tillbaka med mer utmanande frågor om SQL-frågor i vårt nästa inlägg.
hoppas, du skulle kul att lära sig genom SQL-övningar.
om du hittar något nytt att lära dig idag, dela det med andra. Och följ oss på våra sociala medier (Facebook/Twitter) konton för att se mer av detta.,
bäst,
TechBeamers