50 najpopularniejszych pytań i odpowiedzi do wywiadów SQL (aktualizacja z 2021 r.)

Spisie treści:

Anonim

Skrót SQL to Structured Query Language, czyli język programowania specyficzny dla domeny, służący do zarządzania danymi w systemach zarządzania bazami danych. Umiejętności programowania SQL są bardzo pożądane i wymagane na rynku, ponieważ systemy zarządzania bazami danych (DBMS) są powszechnie stosowane w prawie każdej aplikacji. Aby dostać pracę, kandydaci muszą złamać rozmowę kwalifikacyjną, podczas której są zadawane różne pytania podczas rozmowy kwalifikacyjnej SQL.

Poniżej znajduje się wyselekcjonowana lista pytań do wywiadu SQL i odpowiedzi, które prawdopodobnie zostaną zadane podczas rozmowy kwalifikacyjnej SQL. Kandydaci mogą zostać poproszeni o podstawowe pytania do wywiadu SQL, aby przejść do pytań SQL na wyższym poziomie, w zależności od ich doświadczenia i różnych innych czynników. Poniższa lista obejmuje wszystkie pytania do rozmowy kwalifikacyjnej SQL dla osób odświeżających, a także pytania do rozmowy kwalifikacyjnej SQL dla doświadczonych kandydatów na poziomie i niektóre pytania do rozmowy kwalifikacyjnej w języku SQL.

Plik PDF z pytaniami do wywiadu SQL: Pobierz tutaj

Często zadawane pytania do wywiadów SQL i odpowiedzi dla świeżo upieczonych i doświadczonych

1. Co to jest DBMS?

System zarządzania bazą danych (DBMS) to program sterujący tworzeniem, utrzymaniem i użytkowaniem bazy danych. DBMS można nazwać menedżerem plików, który zarządza danymi w bazie danych, zamiast zapisywać je w systemach plików.

2. Co to jest RDBMS?

RDBMS to skrót od Relational Database Management System. RDBMS przechowują dane w zbiorze tabel, które są powiązane przez wspólne pola między kolumnami tabeli. Zapewnia również operatory relacyjne do manipulowania danymi przechowywanymi w tabelach.

Przykład: SQL Server.

3. Co to jest SQL?

SQL to skrót od Structured Query Language, używany do komunikacji z bazą danych. Jest to standardowy język używany do wykonywania zadań, takich jak pobieranie, aktualizacja, wstawianie i usuwanie danych z bazy danych.

Standardowe polecenia SQL to Wybierz.

4. Co to jest baza danych?

Baza danych to nic innego jak zorganizowana forma danych umożliwiająca łatwy dostęp, przechowywanie, odzyskiwanie i zarządzanie danymi. Jest to również znane jako ustrukturyzowana forma danych, do których można uzyskać dostęp na wiele sposobów.

Przykład: baza danych zarządzania szkołą, baza danych zarządzania bankiem.

5. Co to są tabele i pola?

Tabela to zestaw danych zorganizowanych w modelu z kolumnami i wierszami. Kolumny można sklasyfikować jako pionowe, a wiersze są poziome. Tabela ma określoną liczbę kolumn zwanych polami, ale może mieć dowolną liczbę wierszy, co nazywa się rekordem.

Przykład:.

Tabela: Pracownik.

Pole: identyfikator Emp, imię i nazwisko Emp, data urodzenia.

Dane: 201456, David, 15.11.1960.

6. Co to jest klucz podstawowy?

Klucz podstawowy to kombinacja pól, które jednoznacznie określają wiersz. Jest to specjalny rodzaj unikalnego klucza, który zawiera niejawne ograniczenie NOT NULL. Oznacza to, że wartości klucza podstawowego nie mogą mieć wartości NULL.

7. Co to jest unikalny klucz?

Ograniczenie klucza Unique jednoznacznie identyfikuje każdy rekord w bazie danych. Zapewnia to wyjątkowość kolumny lub zestawu kolumn.

Ograniczenie klucza podstawowego ma zdefiniowane automatyczne ograniczenie unikalności. Ale nie w przypadku Unique Key.

W tabeli może być zdefiniowanych wiele unikatowych ograniczeń, ale tylko jedno ograniczenie dotyczące klucza podstawowego jest zdefiniowane na tabelę.

8. Co to jest klucz obcy?

Klucz obcy to jedna tabela, która może być powiązana z kluczem podstawowym innej tabeli. Należy utworzyć relację między dwiema tabelami, odwołując się do klucza obcego z kluczem podstawowym innej tabeli.

9. Co to jest sprzężenie?

Jest to słowo kluczowe używane do tworzenia zapytań dotyczących danych z większej liczby tabel na podstawie relacji między polami tabel. Klucze odgrywają ważną rolę, gdy używane są złącza JOIN.

10. Jakie są typy złączeń i wyjaśnij każdy z nich?

Istnieją różne typy sprzężeń, których można używać do pobierania danych i zależy to od relacji między tabelami.

  • Połączenie wewnętrzne.

Sprzężenie wewnętrzne zwraca wiersze, gdy istnieje co najmniej jedno dopasowanie wierszy między tabelami.

  • Right Join.

Łączenie prawostronne zwraca wiersze, które są wspólne między tabelami i wszystkimi wierszami tabeli po prawej stronie. Po prostu zwraca wszystkie wiersze z tabeli po prawej stronie, mimo że nie ma żadnych dopasowań w tabeli po lewej stronie.

  • Left Join.

Lewe sprzężenie zwraca wiersze, które są wspólne między tabelami i wszystkimi wierszami tabeli po lewej stronie. Po prostu zwraca wszystkie wiersze z tabeli po lewej stronie, mimo że nie ma żadnych dopasowań w tabeli po prawej stronie.

  • Pełne dołączenie.

Pełne sprzężenie zwraca wiersze, gdy w którejkolwiek z tabel znajdują się zgodne wiersze. Oznacza to, że zwraca wszystkie wiersze z tabeli po lewej stronie i wszystkie wiersze z tabeli po prawej stronie.

11. Co to jest normalizacja?

Normalizacja to proces minimalizowania redundancji i zależności poprzez organizowanie pól i tabeli bazy danych. Głównym celem Normalizacji jest dodawanie, usuwanie lub modyfikowanie pól, które można wprowadzić w jednej tabeli.

12. Co to jest denormalizacja.

DeNormalizacja to technika używana do uzyskiwania dostępu do danych z wyższych do niższych normalnych form bazy danych. Jest to również proces wprowadzania redundancji do tabeli poprzez włączenie danych z powiązanych tabel.

13. Jakie są różne rodzaje normalizacji?

Normalne formy można podzielić na 5 form, które są wyjaśnione poniżej -.

  • Pierwsza postać normalna (1NF) :.

Powinno to usunąć wszystkie zduplikowane kolumny z tabeli. Tworzenie tabel dla powiązanych danych i identyfikacja unikalnych kolumn.

  • Druga postać normalna (2NF) :.

Spełnienie wszystkich wymagań pierwszej normalnej formy. Umieszczanie podzbiorów danych w oddzielnych tabelach i tworzenie relacji między tabelami przy użyciu kluczy podstawowych.

  • Trzecia postać normalna (3NF) :.

Powinno to spełniać wszystkie wymagania 2NF. Usunięcie kolumn, które nie są zależne od ograniczeń klucza podstawowego.

  • Czwarta postać normalna (4NF) :.

Spełnia wszystkie wymagania trzeciej postaci normalnej i nie powinien mieć zależności wielowartościowych.

14. Co to jest widok?

Widok to wirtualna tabela, która składa się z podzbioru danych zawartych w tabeli. Widoki nie są praktycznie obecne, a przechowywanie zajmuje mniej miejsca. Widok może łączyć dane z jednej lub wielu tabel i jest to zależne od relacji.

15. Co to jest indeks?

Indeks to metoda dostrajania wydajności umożliwiająca szybsze pobieranie rekordów z tabeli. Indeks tworzy wpis dla każdej wartości, a pobieranie danych będzie szybsze.

16. Jakie są różne typy indeksów?

Istnieją trzy typy indeksów -.

  • Unikalny indeks.

To indeksowanie nie pozwala, aby pole miało zduplikowane wartości, jeśli kolumna jest indeksowana unikatowo. Unikalny indeks może być stosowany automatycznie po zdefiniowaniu klucza podstawowego.

  • Indeks klastrowy.

Ten typ indeksu zmienia fizyczną kolejność tabeli i wyszukiwania na podstawie wartości kluczy. Każda tabela może mieć tylko jeden indeks klastrowy.

  • Indeks nieklastrowy.

Indeks nieklastrowany nie zmienia fizycznej kolejności tabeli i zachowuje logiczną kolejność danych. Każda tabela może mieć 999 nieklastrowanych indeksów.

17. Co to jest kursor?

Kursor bazy danych to element sterujący, który umożliwia przechodzenie po wierszach lub rekordach w tabeli. Można to zobaczyć jako wskaźnik do jednego wiersza w zestawie wierszy. Kursor jest bardzo przydatny do przechodzenia, takiego jak pobieranie, dodawanie i usuwanie rekordów bazy danych.

18. Co to jest związek i czym one są?

Relacja z bazą danych jest zdefiniowana jako połączenie między tabelami w bazie danych. Istnieją różne relacje bazujące na danych i są one następujące:

  • Relacja jeden do jednego.
  • Relacja jeden do wielu.
  • Relacja wiele do jednego.
  • Relacja z odniesieniem do samego siebie.

19. Co to jest zapytanie?

Zapytanie do bazy danych to kod napisany w celu odzyskania informacji z bazy danych. Zapytanie można zaprojektować w taki sposób, aby było zgodne z naszymi oczekiwaniami wynikowymi. Po prostu pytanie do bazy danych.

20. Co to jest podzapytanie?

Podzapytanie to zapytanie w ramach innego zapytania. Zapytanie zewnętrzne jest nazywane zapytaniem głównym, a zapytanie wewnętrzne - podzapytaniem. Podpytanie jest zawsze wykonywane jako pierwsze, a wynik podzapytania jest przekazywany do zapytania głównego.

21. Jakie są rodzaje podzapytań?

Istnieją dwa typy podzapytań - skorelowane i nieskorelowane.

Skorelowane podzapytanie nie może być traktowane jako niezależne zapytanie, ale może odwoływać się do kolumny w tabeli wymienionej na liście OD głównego zapytania.

Zapytanie podrzędne nieskorelowane można traktować jako zapytanie niezależne, a wyniki podzapytania są podstawiane w zapytaniu głównym.

22. Co to jest procedura składowana?

Procedura składowana to funkcja składająca się z wielu instrukcji SQL umożliwiających dostęp do systemu bazy danych. Kilka instrukcji SQL jest konsolidowanych w procedurę składowaną i wykonuje je zawsze i wszędzie tam, gdzie jest to wymagane.

23. Co to jest wyzwalacz?

Wyzwalacz bazy danych to kod lub programy, które są automatycznie wykonywane w odpowiedzi na jakieś zdarzenie w tabeli lub widoku w bazie danych. Przede wszystkim wyzwalacz pomaga zachować integralność bazy danych.

Przykład: Po dodaniu nowego ucznia do bazy danych uczniów należy utworzyć nowe rekordy w powiązanych tabelach, takich jak tabele egzaminów, wyników i frekwencji.

24. Jaka jest różnica między poleceniami DELETE i TRUNCATE?

Polecenie DELETE służy do usuwania wierszy z tabeli, a klauzula WHERE może być używana do warunkowego zestawu parametrów. Commit i Rollback można wykonać po instrukcji delete.

TRUNCATE usuwa wszystkie wiersze z tabeli. Operacji obcięcia nie można cofnąć.

25. Jakie są zmienne lokalne i globalne oraz różnice między nimi?

Zmienne lokalne to zmienne, których można używać lub które mogą istnieć wewnątrz funkcji. Nie są one znane innym funkcjom i nie można ich odwoływać ani używać. Zmienne można tworzyć za każdym razem, gdy wywoływana jest ta funkcja.

Zmienne globalne to zmienne, których można używać lub które mogą istnieć w całym programie. Ta sama zmienna zadeklarowana jako globalna nie może być używana w funkcjach. Nie można tworzyć zmiennych globalnych za każdym razem, gdy wywoływana jest ta funkcja.

26. Co to jest ograniczenie?

Ograniczenia można użyć do określenia limitu typu danych tabeli. Ograniczenie można określić podczas tworzenia lub zmiany instrukcji table. Przykładowe ograniczenie to.

  • NIE JEST ZEREM.
  • CZEK.
  • DOMYŚLNA.
  • WYJĄTKOWY.
  • KLUCZ PODSTAWOWY.
  • KLUCZ OBCY.

27. Co to jest integralność danych?

Integralność danych określa dokładność i spójność danych przechowywanych w bazie danych. Może również definiować ograniczenia integralności, aby wymusić reguły biznesowe na danych, gdy są one wprowadzane do aplikacji lub bazy danych.

28. Co to jest Auto-inkrementacja?

Słowo kluczowe Auto Increment umożliwia użytkownikowi utworzenie unikalnej liczby, która zostanie wygenerowana po wstawieniu nowego rekordu do tabeli. Słowo kluczowe AUTO INCREMENT może być użyte w Oracle, a słowo kluczowe IDENTITY w SQL SERVER.

Przeważnie to słowo kluczowe może być używane zawsze, gdy używany jest KLUCZ PODSTAWOWY.

29. Jaka jest różnica między Indeksem Klastrowym i Non-Cluster Index?

Indeks klastrowy służy do łatwego pobierania danych z bazy danych poprzez zmianę sposobu przechowywania rekordów. Baza danych sortuje wiersze według kolumny, która ma być indeksem klastrowym.

Indeks nieklastrowy nie zmienia sposobu, w jaki był przechowywany, ale tworzy całkowicie oddzielny obiekt w tabeli. Po wyszukaniu wskazuje on z powrotem na oryginalne wiersze tabeli.

30. Co to jest Datawarehouse?

Magazyn danych to centralne repozytorium danych z wielu źródeł informacji. Dane te są konsolidowane, przekształcane i udostępniane do wyszukiwania i przetwarzania online. Dane hurtowni zawierają podzbiór danych zwany Data Marts.

31. Co to jest Self-Join?

Samołączenie jest ustawione na zapytanie używane do porównywania siebie. Służy do porównywania wartości w kolumnie z innymi wartościami w tej samej kolumnie w tej samej tabeli. ALIAS ES może być użyty do tego samego porównania tabel.

32. Co to jest łączenie krzyżowe?

Łączenie krzyżowe definiuje się jako iloczyn kartezjański, w którym liczba wierszy w pierwszej tabeli pomnożona przez liczbę wierszy w drugiej tabeli. Jeśli załóżmy, że klauzula WHERE jest używana w sprzężeniu krzyżowym, zapytanie będzie działać jak INNER JOIN.

33. Co to są funkcje zdefiniowane przez użytkownika?

Funkcje zdefiniowane przez użytkownika to funkcje napisane w celu używania tej logiki, gdy jest to wymagane. Nie jest konieczne wielokrotne pisanie tej samej logiki. Zamiast tego funkcję można wywołać lub wykonać w razie potrzeby.

34. Jakie są wszystkie typy funkcji zdefiniowanych przez użytkownika?

Istnieją trzy typy funkcji zdefiniowanych przez użytkownika.

  • Funkcje skalarne.
  • Funkcje wartościowane w tabeli wbudowanej.
  • Funkcje o wartościach złożonych z wielu instrukcji.

Jednostka zwraca jednostkę skalarną, wariant zdefiniował klauzulę return. Pozostałe dwa typy zwracają tabelę jako zwrot.

35. Co to jest sortowanie?

Sortowanie jest zdefiniowane jako zestaw reguł określających sposób sortowania i porównywania danych znakowych. Można to wykorzystać do porównania znaków A i innych znaków językowych, a także zależy od szerokości znaków.

Do porównania tych danych znaków można użyć wartości ASCII.

36. Jakie są różne rodzaje czułości zestawiania?

Poniżej przedstawiono różne typy czułości zestawiania -.

  • Rozróżnianie wielkości liter - A i a oraz B i b.
  • Akcent wrażliwości.
  • Czułość Kana - japońskie znaki Kana.
  • Czułość szerokości - znak jednobajtowy i znak dwubajtowy.

37. Zalety i wady procedury składowanej?

Procedura składowana może być używana jako programowanie modułowe - oznacza tworzenie raz, przechowywanie i wywoływanie kilka razy, gdy jest to wymagane. Zapewnia to szybsze wykonywanie zamiast wykonywania wielu zapytań. Zmniejsza to ruch w sieci i zapewnia lepsze bezpieczeństwo danych.

Wadą jest to, że można go wykonać tylko w bazie danych i zużywa więcej pamięci na serwerze bazy danych.

38. Co to jest przetwarzanie transakcji online (OLTP)?

Przetwarzanie transakcji online (OLTP) zarządza aplikacjami opartymi na transakcjach, których można używać do wprowadzania, wyszukiwania i przetwarzania danych. OLTP sprawia, że ​​zarządzanie danymi jest proste i wydajne. W przeciwieństwie do systemów OLAP celem systemów OLTP jest obsługa transakcji w czasie rzeczywistym.

Przykład - codzienne transakcje bankowe.

39. Co to jest KLAUZULA?

Klauzula SQL jest zdefiniowana w celu ograniczenia zestawu wyników poprzez podanie warunku zapytania. Zwykle powoduje to odfiltrowanie niektórych wierszy z całego zestawu rekordów.

Przykład - zapytanie, które ma warunek WHERE

Zapytanie, które ma warunek HAVING.

40. Co to jest cykliczna procedura składowana?

Procedura składowana, która wywołuje się sama, dopóki nie osiągnie pewnego warunku granicznego. Ta rekurencyjna funkcja lub procedura pomaga programistom używać tego samego zestawu kodu dowolną liczbę razy.

41. Co to są polecenia Union, minus i Interact?

Operator UNION służy do łączenia wyników dwóch tabel i eliminuje zduplikowane wiersze z tabel.

Operator MINUS służy do zwracania wierszy z pierwszego zapytania, ale nie do zwracania wierszy z drugiego zapytania. Pasujące rekordy pierwszego i drugiego zapytania oraz inne wiersze z pierwszego zapytania zostaną wyświetlone jako zestaw wyników.

Operator INTERSECT służy do zwracania wierszy zwróconych przez oba zapytania.

42. Co to jest polecenie ALIAS?

Nazwę ALIAS można nadać tabeli lub kolumnie. Do tej nazwy aliasu można się odwołać w klauzuli WHERE w celu identyfikacji tabeli lub kolumny.

Przykład-.

Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID

Tutaj st odnosi się do nazwy aliasu tabeli uczniów, a Ex odnosi się do nazwy aliasu tabeli egzaminacyjnej.

43. Jaka jest różnica między instrukcjami TRUNCATE i DROP?

TRUNCATE usuwa wszystkie wiersze z tabeli i nie można jej przywrócić. Polecenie DROP usuwa tabelę z bazy danych i nie można cofnąć operacji.

44. Co to są funkcje agregujące i skalarne?

Funkcje agregujące służą do obliczania obliczeń matematycznych i zwracania pojedynczych wartości. Można to obliczyć na podstawie kolumn w tabeli. Funkcje skalarne zwracają pojedynczą wartość na podstawie wartości wejściowej.

Przykład -.

Aggregate - max (), count - Obliczane w odniesieniu do liczb.

Skalarny - UCASE (), NOW () - Obliczany w odniesieniu do ciągów.

45. Jak utworzyć pustą tabelę z istniejącej tabeli?

Przykładem będzie -.

Select * into studentcopy from student where 1=2

Tutaj kopiujemy tabelę uczniów do innej tabeli o tej samej strukturze bez skopiowanych wierszy.

46. ​​Jak pobrać wspólne rekordy z dwóch tabel?

Wspólny zestaw wyników rekordów można osiągnąć przez -.

Select studentID from student INTERSECT Select StudentID from Exam

47. Jak pobrać alternatywne rekordy z tabeli?

Rekordy można pobierać zarówno dla nieparzystych, jak i parzystych numerów wierszy -.

Aby wyświetlić liczby parzyste-.

Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0

Aby wyświetlić liczby nieparzyste -.

Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1

from (Select rowno, studentId from student), gdzie mod (rowno, 2) = 1. [/ sql]

48. Jak wybrać unikalne rekordy z tabeli?

Wybierz unikalne rekordy z tabeli za pomocą słowa kluczowego DISTINCT.

Select DISTINCT StudentID, StudentName from Student.

49. Jakie polecenie służy do pobrania pierwszych 5 znaków ciągu?

Istnieje wiele sposobów pobrania pierwszych 5 znaków ciągu -.

Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student

50. Który operator jest używany w zapytaniu do dopasowywania wzorców?

Operator LIKE jest używany do dopasowywania wzorców i może być używany jako -.

  1. % - dopasowuje zero lub więcej znaków.
  2. _ (Podkreślenie) - dopasowanie dokładnie jednego znaku.

Przykład -.

Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'