Hei ystävät! tässä postauksessa näemme joitakin yleisimpiä SQL-kyselyjä, joita kysytään haastatteluissa. Nämä SQL-kyselyn haastattelukysymykset ja vastaukset on suunniteltu sekä tuoreille että kokeneille.
Itse asiassa minulta on kysytty suurinta osaa näistä kysymyksistä haastatteluissa urani eri vaiheissa.
Jos haluat ohittaa peruskysymykset ja aloittaa joillakin hankalilla SQL-kyselyillä, voit siirtyä suoraan kokeneille suunnattuun SQL-kyselyjen haastattelukysymykset-osioon.
Huomioi alla olevat kaksi taulukkoa viitteeksi, kun yrität luoda kyselyitä täällä esitettyihin kysymyksiin.
Table – EmployeeDetails
EmpId | FullName | ManagerId | DateOfJoining | City |
---|---|---|---|---|
121 | John Snow | 321 | 31.01.2014 | Toronto |
321 | Walter White | 986 | 30.01.2015 | Kalifornia |
421 | Kuldeep Rana | 876 | 27/11/2016 | New Delhi |
Table – EmployeeSalary
EmpId | Projekti | Palkka | Muuttuja |
---|---|---|---|
121 | P1 | 8000 | 500 |
321 | P2 | 10000 | 1000 |
421 | P1 | 12000 | 0 |
Mukavuuden vuoksi, Olen koonnut sinulle 10 tärkeintä kysymystä. Voit yrittää ratkaista nämä kysymykset ja siirtyä vastauksiin klikkaamalla linkkejä.
- SQL-kysely, jolla haetaan tietueet, jotka ovat yhdessä taulukossa, mutta eivät toisessa taulukossa.
- SQL-kysely, jolla haetaan kaikki työntekijät, jotka eivät työskentele minkään projektin parissa.
- SQL-kysely, jolla haetaan EmployeeDetails-tietueesta kaikki työntekijät, jotka ovat tulleet palvelukseen vuonna 2020.
- Noutaa EmployeeDetails-tietueesta kaikki työntekijät, joilla on palkkatietue EmployeeSalary-tietueessa.
- Kirjoita SQL-kysely, jolla haetaan työntekijöiden projektikohtainen määrä.
- Noutaa työntekijöiden nimet ja palkka, vaikka työntekijän palkka-arvoa ei olisikaan.
- Kirjoita SQL-kysely, jolla haetaan kaikki työntekijät, jotka ovat myös johtajia.
- Kirjoita SQL-kysely, jolla haetaan päällekkäiset tietueet EmployeeDetails-taulukosta.
- Kirjoita SQL-kysely, jolla haetaan taulukosta vain parittomat rivit.
- Kirjoita kysely, jolla etsitään kolmanneksi korkein palkka taulukosta ilman top- tai limit-avainsanaa.
Olletpa valmis hyppäämään kahteen alempana olevaan osioon, jotka käsittelevät haastattelukysymyksiä tuoreille aloittelijoille ja kokeneemmille ammattilaisille.
Sisältö
SQL-kyselyhaastattelukysymykset fukseille
Tässä on luettelo parhaista SQL-kyselyhaastattelukysymyksistä ja -vastauksista fukseille ehdokkaille, jotka auttavat heitä haastatteluissa. Näissä kyselyissä keskitymme vain SQL-peruskomentoihin.
Kysymykset.1. Kirjoita SQL-kysely, jolla haetaan kaikkien niiden työntekijöiden EmpId ja FullName, jotka työskentelevät Managerin alaisuudessa id:llä – ’986’.
Ans. Voimme käyttää EmployeeDetails-taulua työntekijän tietojen hakemiseen where-lausekkeella Manager-
SELECT EmpId, FullNameFROM EmployeeDetailsWHERE ManagerId = 986;
Kysymykset.2.. kirjoitetaan SQL-kysely, jolla haetaan eri projektit, jotka ovat saatavilla EmployeeSalary-taulukosta.
Ans. EmployeeSalary-taulukkoon viitattaessa näemme, että tämä taulukko sisältää kutakin työntekijää vastaavat projektiarvot, tai voimme sanoa, että meillä on päällekkäisiä projektiarvoja, kun valitsemme projektiarvoja tästä taulukosta.
Siten käytämme distinct-lauseketta saadaksemme projektin yksilölliset arvot.
SELECT DISTINCT(Project)FROM EmployeeSalary;
Kysymykset.3. Kirjoita SQL-kysely, jolla haetaan projektissa ”P1” työskentelevien työntekijöiden lukumäärä.
Ans. Tässä käytämme aggregaattifunktiota count() SQL:n where-lausekkeen kanssa-
SELECT COUNT(*) FROM EmployeeSalary WHERE Project = 'P1';
Kysymykset.4. Kirjoita SQL-kysely, jolla haetaan projektissa ”P1” työskentelevien työntekijöiden lukumäärä.
Kysymykset.. Kirjoita SQL-kysely, jolla etsitään työntekijöiden maksimi-, minimi- ja keskipalkka.
Ans. Voimme käyttää SQL:n aggregaattifunktiota maksimi-, minimi- ja keskiarvojen hakemiseen-
SELECT Max(Salary), Min(Salary), AVG(Salary) FROM EmployeeSalary;
Ques.5Kirjoita SQL-kysely löytääksemme työntekijän id:n, jonka palkka on välillä 9000-15000.
Ans. Tässä voimme käyttää ’Between’-operaattoria where-lausekkeella.
SELECT EmpId, SalaryFROM EmployeeSalaryWHERE Salary BETWEEN 9000 AND 15000;
Ques.6. Kirjoita SQL-kysely hakeaksemme ne työntekijät, jotka asuvat Torontossa ja työskentelevät managerin alaisuudessa ManagerId:llä – 321.
Ans. Koska molempien ehtojen – työntekijät, jotka asuvat ’Torontossa’, ja työntekijät, jotka työskentelevät projektissa ’P2’ – on täytyttävä. Joten käytämme tässä AND-operaattoria-
SELECT EmpId, City, ManagerIdFROM EmployeeDetailsWHERE City='Toronto' AND ManagerId='321';
Kysymykset.7. Kirjoita SQL-kysely, jolla haetaan kaikki ne työntekijät, jotka joko asuvat Kaliforniassa tai työskentelevät managerin alaisuudessa, jolla on ManagerId – 321.
Ans. Tämä haastattelukysymys edellyttää, että meidän on täytettävä jompikumpi ehto – työntekijät, jotka asuvat ’Kaliforniassa’, ja työntekijät, jotka työskentelevät managerin alaisuudessa, jolla on ManagerId – ’321’. Käytämme siis tässä OR-operaattoria-
SELECT EmpId, City, ManagerIdFROM EmployeeDetailsWHERE City='California' OR ManagerId='321';
Kysymykset.8. Kirjoita SQL-kysely, jolla haetaan kaikki ne työntekijät, jotka työskentelevät muussa projektissa kuin P1.
Ans. Tässä voimme käyttää NOT-operaattoria hakiaksemme ne rivit, jotka eivät täytä annettua ehtoa.
SELECT EmpIdFROM EmployeeSalaryWHERE NOT Project='P1';
Vai käyttämällä not equal to-operaattoria-
SELECT EmpIdFROM EmployeeSalaryWHERE Project <> 'P1';
Katsokaa tästä linkistä NOT- ja <> SQL-operaattoreiden välinen ero – NOT- ja !=-operaattoreiden välinen ero.
Kysymykset.9.. kirjoita SQL-kysely, jolla näytetään kunkin työntekijän kokonaispalkka lisäämällä palkka ja muuttujan arvo.
Ans. Tässä voimme yksinkertaisesti käyttää SQL:ssä ’+’-operaattoria.
SELECT EmpId,Salary+Variable as TotalSalary FROM EmployeeSalary;
Ques.10Kirjoita SQL-kysely, jolla haetaan työntekijät, joiden nimi alkaa millä tahansa kahdella merkillä, jota seuraa teksti ”hn” ja päättyy millä tahansa merkkijonolla.
Ans. Tätä kysymystä varten voimme luoda SQL-kyselyn, jossa käytämme like-operaattoria, jossa on ’_’- ja ’%’-vadderkorttimerkit, jossa ’_’ vastaa yhtä merkkiä ja ’%’ vastaa ’0 tai useampaa merkkiä’.
SELECT FullNameFROM EmployeeDetailsWHERE FullName LIKE '__hn%';
Ques.11Kirjoita SQL-kysely, jolla haetaan kaikki EmpIds-tunnukset, jotka ovat jommassakummassa taulukossa – ’EmployeeDetails’ ja ’EmployeeSalary’.
Ans. Saadaksemme yksilölliset työntekijätunnukset molemmista taulukoista, voimme käyttää Union-lauseketta, jolla voimme yhdistää kahden SQL-kyselyn tulokset ja palauttaa yksilölliset rivit.
SELECT EmpId FROM EmployeeDetailsUNION SELECT EmpId FROM EmployeeSalary;
Ques.12Kirjoita SQL-kysely kahden taulukon yhteisten tietueiden hakemiseksi.
Ans. SQL Server – INTERSECT-operaattorin käyttäminen-
SELECT * FROM EmployeeSalaryINTERSECTSELECT * FROM ManagerSalary;
MySQL – Koska MySQL:ssä ei ole INTERSECT-operaattoria, voimme käyttää alakyselyä-
SELECT *FROM EmployeeSalaryWHERE EmpId IN (SELECT EmpId from ManagerSalary);
Ques.13. kirjoitetaan SQL-kysely, jolla haetaan tietueet, jotka ovat yhdessä taulukossa, mutta eivät toisessa taulukossa.
Ans. SQL Server – MINUS-operaattorin käyttäminen-
SELECT * FROM EmployeeSalaryMINUSSELECT * FROM ManagerSalary;
MySQL – Koska MySQL:ssä ei ole MINUS-operaattoria, joten voimme käyttää LEFT join-
SELECT EmployeeSalary.*FROM EmployeeSalaryLEFT JOINManagerSalary USING (EmpId)WHERE ManagerSalary.EmpId IS NULL;
Ques.14Kirjoita SQL-kysely, jolla haetaan EmpIds-tunnukset, jotka ovat molemmissa taulukoissa – ’EmployeeDetails’ ja ’EmployeeSalary.
Ans. Käyttämällä sub query-
SELECT EmpId FROM EmployeeDetails where EmpId IN (SELECT EmpId FROM EmployeeSalary);
Ques.15. Kirjoita SQL-kysely, jolla haetaan EmpIds-tunnukset, jotka ovat EmployeeDetails-taulukoissa, mutta eivät EmployeeSalary.
Ans. Käyttämällä sub query-
SELECT EmpId FROM EmployeeDetails where EmpId Not IN (SELECT EmpId FROM EmployeeSalary);
>
>Ques.16.. Kirjoita SQL-kysely, jolla haetaan työntekijöiden täydelliset nimet ja korvataan välilyönti merkillä ’-’.
Ans. Käyttämällä ’Replace’-funktiota-
SELECT REPLACE(FullName, ' ', '-') FROM EmployeeDetails;
Ques.17. Kirjoita SQL-kysely, jolla haetaan tietyn merkin (tai merkkien) sijainti kentässä.
Ans. Käyttämällä ’Instr’-funktiota-
SELECT INSTR(FullName, 'Snow')FROM EmployeeDetails;
Ques.18. 17. Kirjoita SQL-kysely, jolla näytetään sekä EmpId että ManagerId yhdessä.
Ans. Tässä voidaan käyttää CONCAT-komentoa.
SELECT CONCAT(EmpId, ManagerId) as NewIdFROM EmployeeDetails;
Kysymykset.19. Kirjoita kysely, jolla haetaan vain ensimmäinen nimi (merkkijono ennen välilyöntiä) EmployeeDetails-taulukon FullName-sarakkeesta.
Ans. Tässä kysymyksessä meidän on ensin haettava välilyönti-merkin sijainti FullName-kentässä ja sen jälkeen poimittava ensimmäinen nimi FullName-kentästä.
Kohdan löytämiseen käytämme MySQL:ssä LOCATE-menetelmää ja SQL SERVER:ssä CHARINDEX-menetelmää, ja välilyöntiä edeltävän merkkijonon hakemiseen käytämme SUBSTRING- TAI MID-menetelmää.
MySQL:ssä – MID
SELECT MID(FullName, 1, LOCATE(' ',FullName)) FROM EmployeeDetails;
SQL Server:ssä – SUBSTRING
SELECT SUBSTRING(FullName, 1, CHARINDEX(' ',FullName)) FROM EmployeeDetails;
Kysymykset.20Kirjoita SQL-kysely, jolla työntekijän nimi kirjoitetaan suuraakkosin ja kaupungin arvot pienaakkosin.
Ans. Voimme käyttää SQL:n Upper- ja Lower-funktioita haluttujen tulosten saavuttamiseksi.
SELECT UPPER(FullName), LOWER(City) FROM EmployeeDetails;
Ques.21. Kirjoita SQL-kysely, jolla etsitään tietyn merkin – ’n’ kokonaisesiintymien lukumäärä FullName-kentässä.
Ans. Tässä voimme käyttää ’Length’-funktiota. Voimme vähentää FullName-kentän kokonaispituuden FullName-kentän pituudella sen jälkeen, kun merkki – ’n’ on korvattu.
SELECT FullName, LENGTH(FullName) - LENGTH(REPLACE(FullName, 'n', ''))FROM EmployeeDetails;
Ques.22. Kirjoita SQL-kysely työntekijöiden nimien päivittämiseksi poistamalla etu- ja jälkimmäiset välilyönnit.
Ans. Käytä komentoa ’Päivitä’ funktioiden ’LTRIM’ ja ’RTRIM’ avulla.
UPDATE EmployeeDetails SET FullName = LTRIM(RTRIM(FullName));
Ques.23. Hae kaikki työntekijät, jotka eivät työskentele missään projektissa.
Ans. Tämä on yksi hyvin perustavanlaatuisista haastattelukysymyksistä, jossa haastattelija haluaa nähdä, tietääkö henkilö yleisesti käytetyn – Is NULL-operaattorin.
SELECT EmpId FROM EmployeeSalary WHERE Project IS NULL;
Ques.24Kirjoita SQL-kysely, jolla haetaan työntekijöiden nimet, joiden palkka on suurempi tai yhtä suuri kuin 5000 ja pienempi tai yhtä suuri kuin 10000.
Ans. Tässä käytämme BETWEEN-lauseketta ’where’-lausekkeessa palauttaaksemme niiden työntekijöiden EmpId-koodin, joiden palkka täyttää vaaditut kriteerit, ja käytämme sitä sitten alikyselynä etsiessämme työntekijän fullName-tunnuksen EmployeeDetails-taulukosta.
SELECT FullName FROM EmployeeDetails WHERE EmpId IN (SELECT EmpId FROM EmployeeSalary WHERE Salary BETWEEN 5000 AND 10000);
Ques.25. Kirjoita SQL-kysely, jolla etsitään nykyinen päivämäärä ja kellonaika.
Ans. MySQL-
SELECT NOW();
SQL Server-
SELECT getdate();
Oracle-
SELECT SYSDATE FROM DUAL;
Ques.26.. kirjoita SQL-kysely, jolla haetaan EmployeeDetails-taulusta kaikkien niiden työntekijöiden tiedot, jotka ovat liittyneet vuonna 2020.
Ans. Käyttämällä BETWEENiä päivämäärävälille ’01-01-2020′ JA ’31-12-2020′-
SELECT * FROM EmployeeDetailsWHERE DateOfJoining BETWEEN '2020/01/01'AND '2020/12/31';
Voidaan myös poimia vuosiosa liittymispäivästä (käyttämällä YEARia mySQL:ssä)-
SELECT * FROM EmployeeDetails WHERE YEAR(DateOfJoining) = '2020';
Ques.27.Kirjoita SQL-kysely, jolla haetaan EmployeeDetails-taulusta kaikki työntekijätietueet, joilla on palkkatietue EmployeeSalary-taulussa.
Ans. Käyttämällä ’Exists’-kenttää –
SELECT * FROM EmployeeDetails EWHERE EXISTS(SELECT * FROM EmployeeSalary S WHERE E.EmpId = S.EmpId);
Ques.28. Kirjoita SQL-kysely, jolla haetaan projektikohtainen työntekijöiden määrä lajiteltuna projektin lukumäärän mukaan alenevaan järjestykseen.
Ans. Kyselyllä on kaksi vaatimusta – ensin haetaan projektikohtainen määrä ja sitten lajitellaan tulos tämän määrän mukaan.
Projektikohtaista lukumäärää varten käytämme GROUP BY -lauseketta ja lajittelua varten käytämme ORDER BY -lauseketta projektilukumäärän aliaksella.
SELECT Project, count(EmpId) EmpProjectCountFROM EmployeeSalaryGROUP BY ProjectORDER BY EmpProjectCount DESC;
Kysely.29. Kirjoita kysely, jolla haetaan työntekijöiden nimet ja palkkatietueet. Näytä työntekijän tiedot, vaikka työntekijän palkkatietue ei olisikaan olemassa.
Ans. Tämä on taas yksi hyvin yleinen haastattelukysymys, jossa haastattelija haluaa vain tarkistaa SQL JOINSin perustiedot.
Tässä voimme käyttää vasenta liitosta EmployeeDetail-taulun kanssa EmployeeSalary-taulun vasemmalla puolella.
SELECT E.FullName, S.Salary FROM EmployeeDetails E LEFT JOIN EmployeeSalary SON E.EmpId = S.EmpId;
Kysymykset.30. Kirjoita SQL-kysely 3 taulukon yhdistämiseksi.
Ans. Ottaen huomioon 3 taulukkoa TaulukkoA, TaulukkoB ja TaulukkoC, voimme käyttää 2 join-lauseketta kuten alla-
SELECT column1, column2FROM TableAJOIN TableB ON TableA.Column3 = TableB.Column3JOIN TableC ON TableA.Column4 = TableC.Column4;
Jos haluat kysyä lisää SQL-joineja koskevista kysymyksistä, voit myös tutustua parhaimpiin SQL-joineja koskeviin haastattelukysymyksiin.
SQL-kyselyhaastattelukysymykset kokeneille
Tässä on luettelo joistakin useimmin kysytyistä SQL-kyselyhaastattelukysymyksistä kokeneille ammattilaisille. Nämä kysymykset kattavat SQL-kyselyt edistyneistä SQL JOIN -käsitteistä, päällekkäisten rivien hakemisesta, parittomista ja parillisista riveistä, n:nnestä korkeimmasta palkasta jne.
Kysymykset. 31. Kirjoita SQL-kysely, jolla haetaan kaikki työntekijät, jotka ovat myös johtajia, EmployeeDetails-taulusta.
Ans. Tässä joudumme käyttämään Self-Join-toimintoa, koska vaatimus haluaa meidän analysoivan EmployeeDetails-taulua kahtena tauluna. Käytämme samalle EmployeeDetails-taululle eri aliaksia ’E’ ja ’M’.
SELECT DISTINCT E.FullNameFROM EmployeeDetails EINNER JOIN EmployeeDetails MON E.EmpID = M.ManagerID;
Jos haluat oppia lisää Self Joinista sekä muutamista muista kyselyistä, voit katsoa alla olevan videon, jossa selitetään self join -käsite hyvin yksinkertaisella tavalla.
kyselyt.32. Kirjoita SQL-kysely, jolla haetaan päällekkäiset tietueet EmployeeDetails-taulukosta (huomioimatta ensisijaista avainta – EmpId).
Ans. Löytääksemme päällekkäiset tietueet taulukosta voimme käyttää GROUP BY -toimintoa kaikkiin kenttiin ja sen jälkeen käyttää HAVING-lauseketta palauttaaksemme vain ne kentät, joiden lukema on suurempi kuin 1 eli rivit, joissa on päällekkäisiä tietueita.
SELECT FullName, ManagerId, DateOfJoining, City, COUNT(*)FROM EmployeeDetailsGROUP BY FullName, ManagerId, DateOfJoining, CityHAVING COUNT(*) > 1;
SELECT FullName, ManagerId, DateOfJoining, City, COUNT(*)FROM EmployeeDetailsGROUP BY FullName, ManagerId, DateOfJoining, CityHAVING COUNT(*) > 1;
>
Ques.33. Kirjoita SQL-kysely duplikaattien poistamiseksi taulukosta käyttämättä väliaikaista taulukkoa.
Ans. Tässä voidaan käyttää deleteä aliaksen ja inner joinin kanssa. Tarkistamme kaikkien vastaavien tietueiden yhdenvertaisuuden ja poistamme niistä rivin, jolla on suurempi EmpId.
DELETE E1 FROM EmployeeDetails E1INNER JOIN EmployeeDetails E2 WHERE E1.EmpId > E2.EmpId AND E1.FullName = E2.FullName AND E1.ManagerId = E2.ManagerIdAND E1.DateOfJoining = E2.DateOfJoiningAND E1.City = E2.City;
Ques.34. Kirjoita SQL-kysely, jolla haetaan taulukosta vain parittomat rivit.
Ans. Jos meillä on automaattisesti inkrementoituva kenttä, esim. EmpId, voimme yksinkertaisesti käyttää alla olevaa kyselyä-
SELECT * FROM EmployeeDetails WHERE MOD (EmpId, 2) <> 0;
Jos meillä ei ole tällaista kenttää, voimme käyttää alla olevia kyselyjä.
Rivin_luku SQL-palvelimessa ja sen tarkistaminen, että jäännös jaettuna kahdella on 1-
SELECT E.EmpId, E.Project, E.SalaryFROM ( SELECT *, Row_Number() OVER(ORDER BY EmpId) AS RowNumber FROM EmployeeSalary) EWHERE E.RowNumber % 2 = 1;
Käyttäjän määrittelemän muuttujan käyttäminen MySQL:ssä-
SELECT *FROM ( SELECT *, @rowNumber := @rowNumber+ 1 rn FROM EmployeeSalary JOIN (SELECT @rowNumber:= 0) r ) t WHERE rn % 2 = 1;
Kyselyt.35. Kirjoita SQL-kysely, jolla haetaan taulukosta vain parilliset rivit.
Ans. Jos meillä on automaattisesti inkrementoituva kenttä esim. EmpId, voimme yksinkertaisesti käyttää alla olevaa kyselyä-
SELECT * FROM EmployeeDetails WHERE MOD (EmpId, 2) = 0;
Jos meillä ei ole tällaista kenttää, voimme käyttää alla olevia kyselyjä.
Rivin_luku SQL-palvelimessa ja sen tarkistaminen, että jäännös jaettuna kahdella on 1-
SELECT E.EmpId, E.Project, E.SalaryFROM ( SELECT *, Row_Number() OVER(ORDER BY EmpId) AS RowNumber FROM EmployeeSalary) EWHERE E.RowNumber % 2 = 0;
Käyttäjän määrittelemän muuttujan käyttäminen MySQL:ssä-
SELECT *FROM ( SELECT *, @rowNumber := @rowNumber+ 1 rn FROM EmployeeSalary JOIN (SELECT @rowNumber:= 0) r ) t WHERE rn % 2 = 0;
Kyselyt.36. Kirjoita SQL-kysely, jolla luodaan uusi taulukko, jonka tiedot ja rakenne on kopioitu toisesta taulukosta.
Ans.
CREATE TABLE NewTable SELECT * FROM EmployeeSalary;
Ques.37. Kirjoita SQL-kysely, jolla luodaan tyhjä taulukko, jonka rakenne on sama kuin jossakin toisessa taulukossa.
Ans. Tässä voidaan käyttää samaa kyselyä kuin edellä, jossa on False ’WHERE’-ehto –
CREATE TABLE NewTable SELECT * FROM EmployeeSalary where 1=0;
Ques.38. Kirjoita SQL-kysely, jolla haetaan n parasta tietuetta?
Ans. MySQL:ssä käyttämällä LIMIT-
SELECT *FROM EmployeeSalaryORDER BY Salary DESC LIMIT N;
SQL-palvelimessa käyttämällä TOP-komentoa-
SELECT TOP N *FROM EmployeeSalaryORDER BY Salary DESC;
Ques.39. Kirjoita SQL-kysely, jolla etsitään n:nneksi korkein palkka taulukosta.
Ans, Käyttämällä Top-avainsanaa (SQL Server)-
SELECT TOP 1 SalaryFROM ( SELECT DISTINCT TOP N Salary FROM Employee ORDER BY Salary DESC )ORDER BY Salary ASC;
Käyttämällä rajoituslauseketta(MySQL)-
SELECT SalaryFROM EmployeeORDER BY Salary DESC LIMIT N-1,1;
Ques.40. Kirjoita SQL-kysely 3. korkeimman palkan löytämiseksi taulukosta ilman TOP/limit-avainsanaa.
Ans. Tämä on yksi yleisimmin kysytyistä haastattelukysymyksistä. Tätä varten käytämme korreloitua alakyselyä.
Haemme 3. korkeimman palkan löytämiseksi palkka-arvoa, kunnes sisempi kysely palauttaa lukumäärän 2 riviä, joiden palkka on suurempi kuin muut erilliset palkat.
SELECT SalaryFROM EmployeeSalary Emp1WHERE 2 = ( SELECT COUNT( DISTINCT ( Emp2.Salary ) ) FROM EmployeeSalary Emp2 WHERE Emp2.Salary > Emp1.Salary )
Nsimmästä korkeimmasta palkasta-
SELECT SalaryFROM EmployeeSalary Emp1WHERE N-1 = ( SELECT COUNT( DISTINCT ( Emp2.Salary ) ) FROM EmployeeSalary Emp2 WHERE Emp2.Salary > Emp1.Salary )
Tähän päättyy postauksemme usein kysytyistä SQL-haastattelukyselyjen haastattelukysymyksistä ja vastauksista. Toivottavasti näistä kysymyksistä on apua tietokantahaastatteluissa.
Jos sinusta tuntuu, että meiltä on jäänyt jokin yleinen haastattelukysymys huomaamatta, niin kerro siitä meille kommenteissa, niin lisäämme nämä kysymykset listallemme.
Lue myös artikkelimme – Tietokantahaastattelukysymykset, jossa keskitytään teoreettisiin haastattelukysymyksiin, jotka perustuvat tietokantajärjestelmän ja SQL:n käsitteisiin.
Kuldeep on ArtOfTesting-verkkolehden perustaja ja johtava tekijä. Hänellä on kokemusta testausautomaatiosta, suorituskykytestauksesta, big datasta ja CI-CD:stä. Hän tuo vuosikymmenen kokemuksensa nykyiseen tehtäväänsä, jossa hän on omistautunut QA-ammattilaisten kouluttamiselle. Voit olla yhteydessä häneen LinkedInissä.