20 najczęściej zadawanych pytań i odpowiedzi dotyczących zapytań SQL [dla nowicjuszy i doświadczonych]
Opublikowany: 2021-07-14Uczestniczysz w rozmowie kwalifikacyjnej SQL i zastanawiasz się, jakie są wszystkie pytania i dyskusje, przez które przejdziesz? Zanim weźmiesz udział w rozmowie kwalifikacyjnej SQL, lepiej mieć wyobrażenie o typach pytań do rozmowy kwalifikacyjnej SQL , abyś mógł mentalnie przygotować na nie odpowiedzi.
Aby Ci pomóc, stworzyłem najlepszy przewodnik z pytaniami i odpowiedziami do wywiadu SQL, aby zrozumieć głębię i prawdziwe intencje pytań do wywiadu SQL. Zacznijmy.
Structured Query Language (SQL) to popularny i szeroko stosowany język programowania do zarządzania, manipulowania i wykonywania zapytań w relacyjnych bazach danych. Chociaż SQL nie jest do końca najszybszym językiem do komunikacji z relacyjnymi bazami danych, jest niewątpliwie najbardziej wydajnym sposobem obsługi ustrukturyzowanych danych.
W porównaniu z tradycyjnymi interfejsami API do odczytu i zapisu, takimi jak ISAM lub VSAM , SQL zapewnia dwie podstawowe korzyści:
- Umożliwia dostęp do wielu rekordów za pomocą jednego polecenia.
- Eliminuje potrzebę określania, jak uzyskać dostęp do rekordu (czy używać indeksu) z bazy danych.
Zapytanie SQL to pytanie lub żądanie dostępu do danych przechowywanych w bazie danych. Baza danych przechowuje informacje w formacie tabelarycznym. Zawiera więc wiersze i kolumny. Podczas gdy pola bazy danych tworzą kolumny, które kierują bazą danych odnośnie tego, jakie informacje może przechowywać, wiersze zawierają dane. Oto przykładowy zestaw danych o nazwie „tblAlbum”, który pozwala spojrzeć na sprawy z odpowiedniej perspektywy:
Źródło

Utwórzmy zapytanie SQL przy użyciu tych przykładowych danych. Skupimy się na wybieraniu tylko tych albumów, które mają ocenę 9 lub wyższą. Tak więc zasadniczo prosimy zapytanie o utworzenie listy tytułów albumów z bazy danych o ocenie równej lub większej niż 9. Aby uzyskać pożądaną odpowiedź, użyjesz odpowiednich słów kluczowych.
Słowa kluczowe w tym scenariuszu to – SELECT (podyktowanie pobrania informacji z bazy danych), FROM (konkretna tabela zawierająca te dane) oraz WHERE (podyktowanie kryteriów dostępu do informacji). Gdy użyjesz tych słów kluczowych, Twoje zapytanie SQL będzie wyglądać tak:
SELECT albumTitle FROM tblAlbumy
GDZIE ocena >= 9;
W ten sposób wybierasz (SELECT) dane z (FROM) tabeli „tblAlbums”, gdzie (WHERE) ocena albumu wynosi 9 lub więcej. Instrukcja WHERE może być bardzo prosta lub nadmiernie złożona, jeśli w grę wchodzi znaczna ilość zagnieżdżonej logiki. Po uruchomieniu zapytania otrzymasz następujący wynik:
tytuł albumu
Symfonia d-moll
Serce poety
Teraz, gdy masz już podstawową wiedzę o tym, czym są zapytania SQL i jak działają, sprawdźmy dwadzieścia pytań do wywiadu zapytań SQL!
Zanim zaczniemy z pytaniami dotyczącymi wywiadu kwerendy SQL, sprawdź te tabele referencyjne – nasze zapytania będą oparte na tych tabelach.
Tabela informacji o pracowniku:
EmpID | EmpFname | EmpLname | dział | Projekt | Adres | DOB | Płeć |
1 | Rohit | Gupta | Admin | P1 | Delhi | 02.12.1979 | Męski |
2 | Rahul | Mahajana | Admin | P2 | Bombaj | 10.10.1986 | Męski |
3 | Sonia | Banerjee | HR | P3 | Pune | 05/06/1983 | Płeć żeńska |
4 | Ankita | Kapoor | HR | P4 | Ćennaj | 28.11.1983 | Płeć żeńska |
5 | Swati | Garg | HR | P5 | Delhi | 06/04/1991 | Płeć żeńska |
Tabela stanowiska pracownika:
EmpID | Stanowisko pracy | Data dołączenia | Pensja |
1 | Wykonawczy | 01.04.2020 | 75000 |
2 | Menedżer | 03.04.2020 | 500000 |
3 | Menedżer | 02.04.2020 | 150000 |
2 | Oficer | 02.04.2020 | 90000 |
1 | Menedżer | 03.04.2020 | 300000 |
Pytania i odpowiedzi dotyczące zapytania SQL
- Napisz zapytanie, aby uzyskać nazwę EmpFname z tabeli EmployeeInfo wielkimi literami, używając aliasu jako EmpName.
Zapytanie dla tego warunku to:
SELECT UPPER (NazwiskoPracownika) AS NazwaPracownika FROM Informacje opracowniku;
- Napisz zapytanie, aby uzyskać liczbę pracowników zatrudnionych w dziale „HR”.
Oto zapytanie dla tego żądania:
SELECT COUNT(*) FROM EmployeeInfo WHERE Dział = 'HR';
- Jakie zapytanie napiszesz, aby pobrać aktualną datę?
Aby pobrać aktualną datę, możesz napisać to zapytanie na serwerze SQL:
WYBIERZ POBIERZDATĘ();
Aby pobrać aktualną datę, możesz napisać to zapytanie w MySQL:
WYBIERZ DATĘSYST();
- Napisz zapytanie, aby pobrać tylko nazwę miejsca (ciąg przed nawiasami) z kolumny Adres w tabeli Informacje o pracowniku.
Możesz użyć funkcji MID w MySQL, aby utworzyć następujące zapytanie:
SELECT MID(Adres, 0, LOCATE ('(',Adres)) FROMInformacje opracowniku;
Możesz użyć SUBSTRING, aby utworzyć następujące zapytanie:
SELECT SUBSTRING(Adres, 1, CHARINDEX('(',Adres)) FROMInformacjaPracownicza;
Przeczytaj więcej: SQL dla nauki o danych: dlaczego SQL
- Napisz zapytanie, aby utworzyć nową tabelę, której dane i struktura są kopiowane z innej tabeli.
Możesz użyć polecenia SELECT INTO, aby utworzyć następujące zapytanie:

SELECT * INTO NewTable FROM EmployeeInfo WHERE 1 = 0;
Możesz użyć polecenia CREATE w MySQL, aby utworzyć następujące zapytanie:
CREATE TABLE NewTable AS SELECT * FROM EmployeeInfo;
- Napisz zapytanie, aby wyświetlić nazwiska pracowników rozpoczynające się od litery „S”.
To jest zapytanie, które musisz napisać, aby uzyskać nazwiska pracowników, których imiona zaczynają się na „S”:
WYBIERZ * FROM Informacje o pracowniku GDZIE EmpFname LIKE 'S%';
- Napisz zapytanie, aby pobrać pierwsze N rekordów.
Możesz napisać zapytanie za pomocą polecenia TOP w SQL Server:
WYBIERZ TOP N * Z Stanowisko Pracownika ZAMÓW WEDŁUG WYNAGRODZENIA DESC;
Możesz również utworzyć zapytanie za pomocą polecenia LIMIT w MySQL:
WYBIERZ * Z EmpPosition ZAMÓW WG Wynagrodzenia OBNIŻ LIMIT N;
- Napisz zapytanie, aby uzyskać odpowiednie rekordy z tabeli EmployeeInfo uporządkowane według Działu w porządku rosnącym i EmpLname w porządku malejącym.
W tym celu należy użyć instrukcji ORDER BY w SQL;
WYBIERZ * FROM EmployeeInfo ZAMÓW WG Dział asc, EmpFname opis;
- Napisz zapytanie, aby uzyskać dane pracowników, których EmpFname kończy się na 'A'.
Możesz użyć operatora LIKE w SQL, aby utworzyć zapytanie dotyczące tego problemu:
WYBIERZ * Z Informacje o pracowniku GDZIE Nazwa pracownika LIKE '____a';
10.Utwórz zapytanie, aby pobrać dane pracowników, których adres to „DELHI”.
WYBIERZ * Z Informacje o pracowniku GDZIE Adres LIKE 'DELHI%';
Przeczytaj: 9 najlepszych narzędzi do analizy danych w 2020 r.
- Napisz zapytanie, aby pobrać wszystkich pracowników, którzy również zajmują stanowisko kierownicze.
Żaden przewodnik dotyczący pytań i odpowiedzi dotyczących wywiadu SQL nie będzie kompletny bez tego pytania.
Oto zapytanie o pracowników zajmujących stanowiska kierownicze:
SELECT E.PracFnazwisko, E.PracowaNazwisko, P.PracaPozycja
OD EmployeeInfo E INNER JOIN EmployeePosition P ON
E.EmpID = P.EmpID I P.EmpPosition IN („Menedżer”);
- Utwórz zapytanie, aby wygenerować pierwszy i ostatni rekord z tabeli EmployeeInfo.
Jedno z najczęstszych pytań podczas rozmowy kwalifikacyjnej SQL.
Oto zapytanie do pobrania pierwszego rekordu z tabeli EmployeeInfo:
SELECT * FROMInformacjaPracownicza WHERE EmpID = (SELECT MIN(IdentyfikatorPracownika) FROMInformacjaPracownicza);
Oto zapytanie do pobrania ostatniego rekordu z tabeli EmployeeInfo:
SELECT * FROMInformacjaPracownicza WHERE EmpID = (SELECT MAX(IdentyfikatorPracownika) FROMInformacjaPracownicza);
- Utwórz zapytanie, aby sprawdzić, czy wartość przekazana do zapytania jest zgodna z formatem daty tabel EmployeeInfo i EmployeePosition.
Możesz użyć funkcji IsDate() w SQL, aby sprawdzić, czy przekazana wartość jest zgodna z określonym formatem, czy nie. Zwraca odpowiednio 1 (prawda) lub 0 (fałsz). Oto jak będzie wyglądać zapytanie:
WYBIERZ CZY.DATA('01.04.2020′) JAKO „MM/DD/RR”;
Uruchomienie tego zapytania zwróci 0, ponieważ przekazana wartość nie jest zgodna z określonym formatem.
- Utwórz zapytanie, aby uzyskać pracowników wyświetlacza o wynagrodzeniach równych lub większych niż 150000.
Zapytanie dla tego żądania będzie:
SELECT EmpName FROM Pracownicy WHERE Wynagrodzenie>=150000;
- Napisz zapytanie, aby pobrać rok przy użyciu daty.
Możesz uzyskać rok od daty na serwerze SQL, uruchamiając następujące zapytanie:
WYBIERZ ROK(GETDATE()) jako „Rok”;
- Utwórz zapytanie SQL, aby pobrać EmpPostion i łączną pensję wypłaconą za każde stanowisko pracownika.
Zapytanie dla tego żądania to:
WYBIERZ EmpPosition, SUM(Salary) z EmployeePosition GROUP BY EmpPosition;
- Napisz zapytanie, aby znaleźć zduplikowane rekordy z tabeli.
Jedno z najczęstszych pytań w każdym przewodniku z pytaniami i odpowiedziami do wywiadu SQL.
SELECT EmpID, EmpFname, Dział COUNT(*)
Z GRUPY EmployeeInfo WEDŁUG EmpID, EmpFname, Działu
POSIADAJĄC LICZBĘ(*) > 1;
- Utwórz zapytanie, aby pobrać trzecią najwyższą pensję z tabeli EmpPosition.
WYBIERZ TOP 1 wynagrodzenie
OD(
WYBIERZ TOP 3 wynagrodzenie
OD pracownika_stół
ZAMÓW WEDŁUG WYNAGRODZENIA DESC) AS emp
ZAMÓW WEDŁUG WYNAGRODZENIA ASC;
- Napisz zapytanie SQL, aby znaleźć parzyste i nieparzyste rekordy w tabeli EmployeeInfo.
Musisz użyć funkcji MOD(), aby pobrać z tabeli rekordy parzyste i nieparzyste. W przypadku rekordów parzystych zapytanie będzie wyglądało następująco:
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=0;
W przypadku rekordów nieparzystych zapytanie będzie wyglądało następująco:
SELECT EmpID FROM (SELECT rowno, EmpID from EmployeeInfo) WHERE MOD(rowno,2)=1;
- Utwórz zapytanie, aby pobrać listę pracowników tego samego działu.
Oto zapytanie dotyczące tego żądania:

Wybierz DISTINCT E.EmpID, E.EmpFname, E.DepartmentFROM EmployeeInfo E, Employe E1
GDZIE E.Dział = E1.Dział I E.EmpID != E1.EmpID;
Ucz się kursów oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Wniosek
W ten sposób dochodzimy do końca naszej listy pytań do wywiadu zapytań SQL. Mamy nadzieję, że te zapytania dadzą dobry obraz standardowego wzorca zapytań SQL i sposobu tworzenia zapytań SQL. Im więcej ćwiczysz, tym lepiej będziesz pisać zapytania SQL w celu uzyskania dostępu do danych w tabeli danych i manipulowania nimi.
Jeśli chcesz poszerzyć swoją wiedzę na temat SQL i dowiedzieć się więcej o tworzeniu pełnego stosu, sprawdź dyplom PG IIIT-B i upGrad w zakresie tworzenia oprogramowania z pełnym stosem, który jest stworzony dla pracujących profesjonalistów i oferuje ponad 10 studiów przypadków i projektów, praktyczne praktyczne warsztaty, mentoring z ekspertami branżowymi, 1 na 1 z mentorami branżowymi, ponad 400 godzin nauki i pomocy w pracy z najlepszymi firmami.
