19 pytań i odpowiedzi, które musisz przeczytać w wywiadzie dotyczącym SQL: dla początkujących i doświadczonych w 2022 r.
Opublikowany: 2021-01-07Pytania i odpowiedzi dotyczące wywiadu SQL
Martwisz się o swoją rozmowę kwalifikacyjną? Udzieliliśmy Ci odpowiedzi na pytania dotyczące wywiadu SQL. To tylko niektóre z najczęściej zadawanych pytań w wywiadach Sql.
Bez względu na to, jaką rolę wybierzesz w branży oprogramowania i IT, znajomość języka SQL jest koniecznością. Nawet dzisiaj RDBMS jest jedną z najszerzej wykorzystywanych baz danych na świecie, a zatem SQL jest nieodzowną częścią domeny programistycznej. Wielkie nazwiska, takie jak Uber, Netflix, Airbnb i oczywiście Microsoft, używają SQL jako podstawowego narzędzia do zarządzania bazą danych.
Powodem, dla którego SQL jest dziś niezwykle popularny, jest to, że obsługuje on wiele aplikacji do przetwarzania transakcji, analiz i operacji analizy biznesowej w korporacyjnych środowiskach IT.
W tym poście pomożemy Ci rozpocząć pracę z podstawami SQL. Dlatego stworzyliśmy listę najczęściej zadawanych pytań do wywiadu SQL. Pytania do wywiadu Hope SQL pomogą ci w rozmowach kwalifikacyjnych. Te pytania z rozmowy kwalifikacyjnej SQL dadzą Ci stosunkowo dobre wyobrażenie o podstawowych pojęciach SQL oraz o tym, jak należy z nim postępować.
Najpopularniejsze pytania i odpowiedzi dotyczące wywiadu SQL
1. Zdefiniuj SQL.
SQL lub Structured Query Language to system zarządzania relacyjnymi bazami danych stworzony przez firmę Microsoft. Jest przeznaczony do komunikacji z bazami danych. ANSI (American National Standards Institute) utrzymuje, że SQL jest standardowym językiem zapytań dla systemów zarządzania relacyjnymi bazami danych (RDBMS).
Służy nie tylko do utrzymywania RDBMS, ale także do wykonywania szerokiej gamy innych operacji manipulacji danymi na różnych typach danych. Na przykład SQL jest używany do tworzenia baz danych, tworzenia tabel w bazie danych, pobierania danych z bazy danych, aktualizowania tabel w bazie danych, wykonywania zapytań i tak dalej.

Przeczytaj więcej: SQL dla nauki o danych: dlaczego SQL
2. Zdefiniuj bazę danych.
Baza danych odnosi się do ustrukturyzowanej formy danych, która jest przechowywana w zorganizowanej formie na komputerze, aby ułatwić jej łatwy dostęp, przechowywanie, wyszukiwanie i zarządzanie danymi. Baza danych to zasadniczo zbiór schematów, tabel, zapytań, widoków itp.
3. Czym RDBMS różni się od DBMS?
RDBMS lub Relational Database Management System różni się od DBMS w tym sensie, że RDBMS przechowuje dane jako zbiór tabel, w których można zdefiniować relacje między wspólnymi polami tabel, podczas gdy w DBMS nie można tego zrobić.
W przeciwieństwie do RDBMS, który przechowuje dane w formie tabeli, DBMS działa bardziej jak Menedżer plików, który przechowuje dane w bazie danych, zamiast zapisywać je w systemie plików.
RDBMS jest podstawą wielu nowoczesnych systemów zarządzania bazami danych, takich jak MySQL, Microsoft SQL Server, Oracle, IBM DB2 i Amazon Redshift.
4. Zdefiniuj ograniczenia.
W języku SQL ograniczenia służą do określenia limitu typu danych tabeli lub deklarowania reguł dotyczących danych w tabeli w bazie danych. Ograniczenia można określić zarówno dla jednego, jak i wielu pól w tabeli SQL, podczas tworzenia tabeli lub po jej utworzeniu za pomocą polecenia ALTER TABLE.
Niektóre z ograniczeń w SQL to:
- NIE JEST ZEREM
- SPRAWDZAĆ
- DOMYŚLNA
- UNIKALNY
- GŁÓWNY KLUCZ
- KLUCZ OBCY
5. Zdefiniuj – klucz podstawowy, klucz unikalny i klucz obcy.
Klucz podstawowy to kombinacja pól, która pomaga jednoznacznie określić wiersz. Klucz podstawowy musi mieć unikalne wartości, a także zawiera niejawne ograniczenie NOT NULL, co oznacza, że klucz podstawowy nie może mieć wartości NULL.
Unikalne ograniczenie klucza służy do zapewnienia, że wszystkie wartości w kolumnie są różne. Pomaga jednoznacznie zidentyfikować każdy rekord w bazie danych. W przeciwieństwie do klucza podstawowego (istnieje tylko jeden klucz podstawowy zdefiniowany na tabelę), w tabeli może być zdefiniowanych wiele ograniczeń przez unikalność.
Klucz obcy składa się z jednego lub zbioru pól w jednej tabeli, których można używać do odwoływania się do klucza podstawowego innej tabeli. Ten klucz pomaga zachować integralność referencyjną w relacji między dwiema tabelami. Podczas gdy tabela zawierająca ograniczenie klucza obcego jest nazywana tabelą podrzędną, tabela zawierająca klucz kandydujący jest oznaczona jako tabela nadrzędna.
6. Zdefiniuj Dołącz. Jakie są rodzaje dołączenia?
Join to klauzula SQL przeznaczona do łączenia rekordów lub wierszy z co najmniej dwóch tabel na podstawie powiązanej między nimi kolumny. Join działa jak słowo kluczowe używane do wykonywania zapytań o dane z większej liczby tabel na podstawie relacji między polami tabel. Służą one przede wszystkim do pobierania danych. Jednak pobieranie danych w dużej mierze zależy od relacji między tabelami.
Istnieją cztery rodzaje sprzężenia:
- Połączenie wewnętrzne — służy do zwracania rekordów lub wierszy, które zawierają co najmniej jedną pasującą wartość między tabelami.
- Right Join — zwraca wiersze, które są wspólnym dopasowaniem między tabelami i wszystkimi innymi wierszami leżącymi po prawej stronie tabeli. Mówiąc prościej, prawe sprzężenie zwraca wszystkie wiersze z tabeli po prawej stronie, niezależnie od tego, że w tabeli po lewej stronie nie ma dostępnego dopasowania.
- Lewe sprzężenie — podobnie jak prawe sprzężenie, lewe sprzężenie zwraca wiersze, które są wspólne między tabelami i wszystkimi wierszami znajdującymi się w tabeli po lewej stronie, nawet jeśli nie ma dostępnego dopasowania w tabeli po prawej stronie.
- Full Join — To sprzężenie zwraca wiersze, gdy dowolna pojedyncza tabela składa się z pasujących wierszy. Innymi słowy, tworzy zestaw zawierający wynik sprzężenia prawego i sprzężenia lewego. W związku z tym zestaw wyników zawiera wszystkie wiersze z tabel po lewej i prawej stronie.
7. Co to jest indeks? Nazwij różne typy indeksów.
W języku SQL indeks to metoda dostrajania wydajności, która pozwala na szybsze pobieranie rekordów z tabel. Przyspieszają proces wyszukiwania w bazie danych – indeks tworzy wpis dla każdej wartości, co przyspiesza pobieranie danych.
Indeksy służą do wyszukiwania wierszy, które pasują do niektórych kolumn, przeglądając tylko te podzbiory danych w celu znalezienia prawidłowych dopasowań.
Istnieją trzy rodzaje indeksów:
- Unikalny indeks — ten indeks zapewnia, że żadne dwa wiersze danych w tabeli nie mają identycznych wartości klucza, co zapewnia integralność danych. Podczas definiowania klucza podstawowego można automatycznie zastosować unikalny indeks.
- Indeks klastrowy — ten indeks pomaga zmienić kolejność lub kolejność fizyczną tabeli i wyszukiwać na podstawie wartości kluczy. W tym indeksie kolejność wierszy zawartych w bazie danych odpowiada kolejności wierszy w indeksie. Dlatego tabela może mieć tylko jeden indeks klastrowy.
- Indeks nieklastrowany — ten indeks zachowuje logiczną kolejność danych. Służy do tworzenia oddzielnej encji w tabeli, która odwołuje się do oryginalnej tabeli. Tabela może mieć wiele indeksów nieklastrowanych.
8. Co to jest AUTO_INCREMENT?
AUTO_INCREMENT służy do automatycznego generowania unikalnego numeru za każdym razem, gdy nowy rekord jest dodawany lub wprowadzany do tabeli. Ponieważ tabela ma tylko jeden klucz podstawowy, ten klucz podstawowy jest dodawany jako pole AUTO_INCREMENT, które pomaga zwiększać wartość pola za każdym razem, gdy dodawany jest nowy rekord.
Domyślnie wartość AUTO-INCREMENT zaczyna się od 1 i jest zwiększana o 1 za każdym razem, gdy wstawiany jest nowy rekord.
9. Zdefiniuj zapytanie i podzapytanie.
Zapytanie to kod napisany w celu żądania lub pobierania danych z tabeli bazy danych lub wielu tabel. Zapytanie może być zapytaniem funkcjonalnym lub zapytaniem wybierającym.
Z drugiej strony podzapytanie to zapytanie w ramach innego zapytania. Jest również znany jako zapytanie wewnętrzne lub zapytanie zagnieżdżone. Podzapytanie służy do ograniczania lub ulepszania danych, które muszą być odpytywane przez zapytanie główne, tym samym ograniczając lub poprawiając wynik zapytania głównego. Zwykle podzapytanie jest wykonywane jako pierwsze, a wynik jest przekazywany do zapytania głównego.

Istnieją dwa rodzaje podzapytań:
- Skorelowane podzapytanie — to podzapytanie nie jest niezależnym zapytaniem. Może jednak odnosić się do kolumny w tabeli wymienionej we FROM głównego zapytania.
- Podzapytanie nieskorelowane — jest to zapytanie niezależne, a jego dane wyjściowe są zastępowane w zapytaniu głównym.
10. Zdefiniuj wyzwalacz.
Wyzwalacz to przechowywany kod lub program, który jest automatycznie wykonywany, gdy wystąpią zdarzenia, takie jak instrukcja INSERT, DELETE, UPDATE(DML). Mogą być również wykonywane jako odpowiedź na instrukcje definicji danych (DDL) i operacje bazy danych, takie jak SERVER ERROR, LOGON itp., które pomagają zachować integralność bazy danych.
11. Wyjaśnij rolę właściwości ACID w transakcji.
Właściwości ACID są śledzone w celu utrzymania spójności w bazie danych zarówno przed, jak i po transakcjach.
- Atomowość — oznacza to, że transakcja musi zostać zakończona. Nie należy go zostawiać w połowie. Jeśli kiedykolwiek transakcja się nie powiedzie, cała transakcja zakończy się niepowodzeniem, a baza danych pozostanie niezmieniona.
- Spójność — ma to na celu zachowanie ograniczeń integralności poprzez weryfikację danych wprowadzonych do bazy danych.
- Izolacja — ta właściwość ma na celu kontrolowanie współbieżności.
- Trwałość — ta właściwość zapewnia, że po wykonaniu transakcji pozostanie ona popełniona pomimo wszelkich wyzwań, które mogą się pojawić (na przykład utraty zasilania, błędów wewnętrznych itp.).
12. Rozróżnij polecenia DELETE i TRUNCATE.
Podstawowa różnica między poleceniami DELETE i TRUNCATE jest następująca:
- Podczas gdy polecenie DELETE służy do usuwania lub usuwania jednej lub więcej istniejących tabel, polecenie TRUNCATE usuwa wszystkie dane z wnętrza tabeli.
- DELETE to polecenie DML, natomiast TRUNCATE to polecenie DDL.
- DELETE umożliwia wykonanie wyzwalacza, ale TRUNCATE nie pozwala na wykonywanie i wyzwalanie.
- Polecenie TRUNCATE nie działa, gdy ograniczenia klucza obcego odwołują się do tabeli. W takich przypadkach musisz użyć polecenia USUŃ.
13. Nazwij różne podzbiory SQL.
Podzbiory SQL obejmują:
- DDL (język definicji danych) — ten język umożliwia wykonywanie wielu operacji na bazie danych, w tym poleceń SQL, takich jak obiekty CREATE, ALTER i DELETE.
- DML (język manipulacji danymi) — ten język umożliwia dostęp do danych w bazie danych i manipulowanie nimi za pomocą poleceń takich jak INSERT, UPDATE i DELETE.
- DCL (język kontroli danych) — ten język pozwala kontrolować dostęp do bazy danych za pomocą poleceń takich jak GRANT i REVOKE.
Przeczytaj: 9 najlepszych narzędzi do analizy danych w 2020 r.
14. Wyjaśnij integralność danych.
Integralność danych określa dokładność, spójność i wiarygodność danych przechowywanych w bazie danych. Co więcej, pomaga zdefiniować ograniczenia integralności w celu wymuszenia reguł biznesowych na danych, gdy są one wstawiane do bazy danych lub aplikacji.
Integralność danych ma cztery rodzaje:
- Integralność rzędów
- Integralność kolumny
- Więzy integralności
- Integralność zdefiniowana przez użytkownika
15. Jakie są funkcje zdefiniowane przez użytkownika? Nazwij typy funkcji zdefiniowanych przez użytkownika.
Funkcje zdefiniowane przez użytkownika to funkcje, które są specjalnie napisane, aby używać określonej logiki w razie potrzeby. Funkcje te eliminują potrzebę wielokrotnego pisania tej samej logiki; zamiast tego możesz w razie potrzeby wywołać lub wykonać funkcję zdefiniowaną przez użytkownika.
Istnieją trzy typy funkcji zdefiniowanych przez użytkownika:
- Funkcje skalarne.
- Wbudowane funkcje z wartościami tabelarycznymi.
- Wielokrotne wartościowe funkcje.
16. Zdefiniuj sortowanie. Wymień różne rodzaje czułości sortowania.
Sortowanie odnosi się do zbioru reguł, które określają sposób sortowania i porównywania danych znakowych. Oprócz zdefiniowania prawidłowej sekwencji znaków do sortowania danych znakowych, zawiera opcje określania wielkości liter, znaków akcentu, typów znaków kana, a także szerokości znaków.
Różne rodzaje czułości sortowania obejmują:
- Rozróżnianie wielkości liter – Znaki „A” i „a” są traktowane inaczej.
- Wrażliwość na akcenty – Znaki „a” i „ a” są traktowane inaczej.
- Wrażliwość na Kanę — powoduje to odmienne traktowanie japońskich znaków Kany, takich jak Hiragana i Katakana.
- Czułość szerokości — traktuje inaczej znak jednobajtowy (o połowie szerokości) i znak dwubajtowy (o pełnej szerokości).
17. Co rozumiesz przez procedurę składowaną?
Procedura składowana to podprogram (kod SQL) używany dla aplikacji uzyskujących dostęp do RDBMS. Obsługuje koncepcję programowania modułowego, co oznacza, że można raz utworzyć procedurę składowaną, zapisać ją i wywoływać wielokrotnie, gdy jest to wymagane.
Procedury te są przechowywane w słowniku danych bazy danych. Zaletą procedury składowanej jest to, że umożliwia szybsze wykonywanie zapytań. To nie tylko zmniejsza ruch w sieci, ale także zapewnia lepsze bezpieczeństwo danych.
Kolejną zaletą jest to, że procedury składowane mają dodatkowe funkcje, ponieważ użytkownicy, którzy nie mają bezpośredniego dostępu do danych, mogą korzystać z procedur składowanych w celu uzyskania dostępu.
Ma to jednak również wadę – procedurę składowaną można wykonać tylko w bazie danych, zwykle zajmując więcej pamięci w serwerze bazy danych.
18. Rozróżnij widoki i tabele.
Oto kilka różnic między widokami a tabelami:
- Widoki odnoszą się do wirtualnej tabeli wyodrębnionej z bazy danych, podczas gdy tabela odnosi się do ustrukturyzowanej jednostki zawierającej ograniczoną liczbę kolumn i nieskończoną liczbę wierszy.
- Widoki nie mogą samodzielnie przechowywać danych, podczas gdy tabele zawierają dane i przechowują je w bazach danych.
- Widoki umożliwiają wyszukiwanie określonych informacji zawartych w kilku odrębnych tabelach. Jednak tabela zawiera podstawowe informacje o kliencie wraz z przypadkami scharakteryzowanych obiektów.
19. Zdefiniuj tabelę tymczasową. Jak możesz go stworzyć?
Tabela tymczasowa to tabela, która umożliwia przechowywanie i przetwarzanie wyników pośrednich. Tabele te mogą być automatycznie usuwane, gdy nie są już używane. Tabele tymczasowe przydają się w sytuacjach, w których konieczne jest przechowywanie danych tymczasowych.
Składnia tworzenia tabeli tymczasowej to:
UTWÓRZ TABELĘ #nazwa_tabeli();
Poniższe zapytanie utworzy tabelę tymczasową:
utwórz tabelę #book(b_id int, b_cost int)
Teraz wstawimy rekordy.
wstaw do #wartości księgowych(1,100)

wstaw do #book values(2,232)
wybierz * z #książki
Ucz się kursów rozwoju oprogramowania online z najlepszych światowych uniwersytetów. Zdobywaj programy Executive PG, Advanced Certificate Programs lub Masters Programs, aby przyspieszyć swoją karierę.
Zawijanie
Mamy nadzieję, że ten przewodnik z pytaniami i odpowiedziami do wywiadu SQL pomoże Ci wzmocnić i poszerzyć bazę wiedzy SQL.
Jeśli chcesz dowiedzieć się więcej o SQL i więcej o tworzeniu pełnego stosu, sprawdź program Executive 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.
