top 90 sql interview questions
90 najpopularniejszych pytań i odpowiedzi do wywiadów SQL:
Są to najczęściej zadawane pytania podczas rozmowy kwalifikacyjnej SQL zarówno dla świeżo upieczonych, jak i doświadczonych kandydatów. W tym artykule omówiono podstawy zaawansowanych koncepcji języka SQL.
Zapoznaj się z tymi pytaniami, aby szybko powtórzyć główne pojęcia dotyczące języka SQL, zanim pojawisz się na rozmowie kwalifikacyjnej.
Najlepsze pytania do wywiadów SQL
Zaczynajmy.
Pytanie 1) Co to jest SQL?
Odpowiedź: Structured Query Language SQL to narzędzie bazy danych, które służy do tworzenia i uzyskiwania dostępu do bazy danych w celu obsługi aplikacji.
Pytanie 2) Co to są tabele w języku SQL?
Odpowiedź: Tabela jest zbiorem rekordów i zawartych w nich informacji w jednym widoku.
Pytanie 3) Jakie są różne typy instrukcji obsługiwane przez SQL?
Odpowiedź:
Istnieją 3 typy instrukcji SQL:
a) DDL (język definicji danych): Służy do definiowania struktury bazy danych, takiej jak tabele. Zawiera trzy instrukcje, takie jak CREATE, ALTER i DROP.
Przeczytaj także = >> Samouczek tworzenia tabel MySQL
Poniżej wymieniono niektóre polecenia DDL:
STWÓRZ : Służy do tworzenia tabeli.
CREATE TABLE table_name column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size),
WIEK: Tabela ALTER służy do modyfikowania istniejącego obiektu tabeli w bazie danych.
ALTER TABLE table_name ADD column_name datatype
LUB
ALTER TABLE table_name DROP COLUMN column_name
b) DML (język manipulacji danymi): Te instrukcje służą do manipulowania danymi w rekordach. Powszechnie używanymi instrukcjami DML są INSERT, UPDATE i DELETE.
Instrukcja SELECT jest używana jako częściowa instrukcja DML, używana do wybierania wszystkich lub odpowiednich rekordów w tabeli.
c) DCL (język kontroli danych): Te instrukcje służą do ustawiania uprawnień, takich jak GRANT i REVOKE, uprawnienia dostępu do bazy danych dla określonego użytkownika .
P # 4) Jak używamy instrukcji DISTINCT? Jakie jest jego zastosowanie?
Odpowiedź: Instrukcja DISTINCT jest używana z instrukcją SELECT. Jeśli rekord zawiera zduplikowane wartości, instrukcja DISTINCT służy do wybierania różnych wartości spośród zduplikowanych rekordów.
Składnia:
SELECT DISTINCT column_name(s) FROM table_name;
P # 5) Jakie są różne klauzule używane w SQL?
Odpowiedź:
GDZIE Klauzula: Klauzula ta służy do zdefiniowania warunku, wyodrębnienia i wyświetlenia tylko tych rekordów, które spełniają dany warunek.
Składnia:
SELECT column_name(s) FROM table_name WHERE condition;
Klauzula GROUP BY: Służy wraz z instrukcją SELECT do grupowania wyniku wykonanego zapytania przy użyciu określonej w nim wartości. Dopasowuje wartość do nazwy kolumny w tabelach i odpowiednio grupuje wynik końcowy.
Dalsza lektura => Grupa MySQL według samouczka
Składnia:
SELECT column_name(s) FROM table_name GROUP BY column_name;
HAVING klauzula: Klauzula ta jest używana w połączeniu z klauzulą GROUP BY. Jest stosowany do każdej grupy wyników lub całego wyniku jako jednej grupy. Jest bardzo podobny do klauzuli WHERE, ale jedyną różnicą jest to, że nie możesz jej używać bez klauzuli GROUP BY
Składnia:
SELECT column_name(s) FROM table_name GROUP BY column_name HAVING condition;
Klauzula ORDER BY: Ta klauzula służy do definiowania kolejności wyników zapytania rosnąco (ASC) lub malejąco (DESC). Rosnąco (ASC) jest ustawiony jako domyślny, ale malejący (DESC) jest ustawiony jawnie.
Składnia:
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
Klauzula USING: Klauzula USING jest używana podczas pracy z SQL JOIN. Służy do sprawdzania równości na podstawie kolumn po połączeniu tabel. Może być używany zamiast klauzuli ON w JOIN.
Składnia:
SELECT column_name(s) FROM table_name JOIN table_name USING (column_name);
Pytanie 6) Dlaczego używamy ograniczeń SQL? Z jakich ograniczeń możemy skorzystać podczas tworzenia bazy danych w SQL?
Odpowiedź: Ograniczenia służą do ustawiania reguł dla wszystkich rekordów w tabeli. Jeśli jakiekolwiek ograniczenia zostaną naruszone, może przerwać działanie, które je spowodowało.
Ograniczenia są definiowane podczas tworzenia samej bazy danych za pomocą instrukcji CREATE TABLE lub nawet po jednokrotnym utworzeniu tabeli za pomocą instrukcji ALTER TABLE.
W języku SQL używanych jest 5 głównych ograniczeń, takich jak
- NIE JEST ZEREM: Oznacza to, że kolumna musi mieć jakąś wartość i nie może pozostać NULL.
- WYJĄTKOWY: To ograniczenie służy do zapewnienia, że każdy wiersz i kolumna ma niepowtarzalną wartość i żadna wartość nie zostanie powtórzona w żadnym innym wierszu lub kolumnie.
- KLUCZ PODSTAWOWY: To ograniczenie jest używane w połączeniu z ograniczeniami NOT NULL i UNIQUE, takimi jak jedna lub kombinacja więcej niż jednej kolumny w celu zidentyfikowania konkretnego rekordu z unikalną tożsamością.
- KLUCZ OBCY: Służy do zapewnienia referencyjnej integralności danych w tabeli. Dopasowuje wartość w jednej tabeli do innej za pomocą klucza podstawowego.
- CZEK: Zapewnia, czy wartość w kolumnach spełnia określony warunek.
P # 7) Jakie są różne SPRZĘŻENIA używane w SQL?
Odpowiedź:
Podczas pracy na wielu tabelach w bazach danych SQL używane są 4 główne typy połączeń:
WEWNĘTRZNE DOŁĄCZ: Jest również znany jako SIMPLE JOIN, który zwraca wszystkie wiersze z OBU tabel, jeśli ma co najmniej jedną pasującą kolumnę.
Składnia:
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON column_name1=column_name2;
Na przykład,
W tym przykładzie mamy tabelę Pracownik z następującymi danymi:
Nazwa drugiej tabeli to Łączący.
Wprowadź następującą instrukcję SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee INNER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Zostaną wybrane 4 rekordy. Wyniki:
Pracownik i Zamówienia tabele mają dopasowanie Identyfikator klienta wartość.
LEFT JOIN (LEFT OUTER JOIN): To sprzężenie zwraca wszystkie wiersze z tabeli LEFT i dopasowane wiersze z tabeli RIGHT .
Składnia:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON column_name1=column_name2;
Na przykład,
W tym przykładzie mamy tabelę Pracownik z następującymi danymi:
Nazwa drugiej tabeli to Łączący.
Wprowadź następującą instrukcję SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee LEFT OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Zostaną wybrane 4 rekordy. Zobaczysz następujące wyniki:
RIGHT JOIN (RIGHT OUTER JOIN): To sprzężenie zwraca wszystkie wiersze z tabeli RIGHT i pasujące wiersze z tabeli LEFT .
Składnia:
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON column_name1=column_name2;
Na przykład,
W tym przykładzie mamy tabelę Pracownik z następującymi danymi:
Nazwa drugiej tabeli to Łączący.
Wprowadź następującą instrukcję SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee RIGHT JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Wynik:
Emp_id | Joining_Date |
---|---|
E0012 | 2016/04/18 |
E0013 | 2016/04/19 |
E0014 | 2016/05/01 |
FULL JOIN (FULL OUTER JOIN): To sprzężenie zwraca wszystkie wyniki, gdy występuje dopasowanie w PRAWEJ tabeli lub LEWEJ tabeli .
Składnia:
SELECT column_name(s) FROM table_name1 FULL OUTER JOIN table_name2 ON column_name1=column_name2;
Na przykład,
W tym przykładzie mamy tabelę Pracownik z następującymi danymi:
Nazwa drugiej tabeli to Łączący.
Wprowadź następującą instrukcję SQL:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee FULL OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Zostanie wybranych 8 rekordów. Oto wyniki, które powinieneś zobaczyć.
DO lso Czytaj => Dołącz do MySQL
P # 8) Co to są transakcje i ich kontrole?
Odpowiedź: Transakcję można zdefiniować jako zadanie sekwencji, które jest wykonywane na bazach danych w sposób logiczny w celu uzyskania określonych wyników. Operacje takie jak tworzenie, aktualizowanie, usuwanie rekordów wykonywanych w bazie danych pochodzą z transakcji.
W prostych słowach możemy powiedzieć, że transakcja to grupa zapytań SQL wykonywanych na rekordach bazy danych.
Istnieją 4 kontrole transakcji, takie jak
- POPEŁNIĆ : Służy do zapisywania wszystkich zmian dokonanych w ramach transakcji.
- ROLLBACK : Służy do wycofywania transakcji. Wszystkie zmiany wprowadzone przez transakcję są cofane, a baza danych pozostaje bez zmian.
- USTAW TRANSAKCJĘ : Ustaw nazwę transakcji.
- PUNKT ZAPISU: Służy do ustalenia punktu, w którym transakcja ma zostać wycofana.
P # 9) Jakie są właściwości transakcji?
Odpowiedź: Właściwości transakcji nazywane są właściwościami ACID. To są:
- Atomowość : Zapewnia kompletność wszystkich wykonanych transakcji. Sprawdza, czy każda transakcja została zakończona pomyślnie, czy nie. Jeśli nie, transakcja jest przerywana w punkcie awarii, a poprzednia transakcja jest przywracana do stanu początkowego, gdy zmiany są cofane.
- Konsystencja : Zapewnia, że wszystkie zmiany dokonane w wyniku pomyślnych transakcji są prawidłowo odzwierciedlane w bazie danych.
- Izolacja : Zapewnia, że wszystkie transakcje są wykonywane niezależnie, a zmiany wprowadzone przez jedną transakcję nie są odzwierciedlane w innych.
- Trwałość : Zapewnia, że zmiany wprowadzone w bazie danych z zatwierdzonymi transakcjami będą zachowane, tak jak ma to miejsce nawet po awarii systemu.
P # 10) Ile funkcji agregujących jest dostępnych w języku SQL?
Odpowiedź: Funkcje agregujące SQL określają i obliczają wartości z wielu kolumn w tabeli i zwracają pojedynczą wartość.
W SQL istnieje 7 funkcji agregujących:
- AVG (): Zwraca średnią wartość z określonych kolumn.
- LICZYĆ(): Zwraca liczbę wierszy tabeli.
- MAX (): Zwraca największą wartość spośród rekordów.
- MIN (): Zwraca najmniejszą wartość spośród rekordów.
- SUMA(): Zwraca sumę określonych wartości kolumn.
- PIERWSZY(): Zwraca pierwszą wartość.
- OSTATNI, UBIEGŁY, ZESZŁY(): Zwraca ostatnią wartość.
Pytanie 11) Co to są funkcje skalarne w języku SQL?
Odpowiedź: Funkcje skalarne służą do zwracania pojedynczej wartości na podstawie wartości wejściowych.
Funkcje skalarne są następujące:
- UCASE (): Konwertuje określone pole na duże litery.
- LCASE (): Konwertuje określone pole na małe litery.
- ŚRODEK(): Wyodrębnia i zwraca znak z pola tekstowego.
- FORMAT(): Określa format wyświetlania.
- DŁ (): Określa długość pola tekstowego.
- OKRĄGŁY(): Zaokrągla wartość pola dziesiętnego do liczby.
Q # 12) Co to są wyzwalacze ?
Odpowiedź: Wyzwalacze w SQL to rodzaj procedur składowanych służących do tworzenia odpowiedzi na określoną akcję wykonywaną na tabeli, taką jak INSERT, UPDATE lub DELETE. Wyzwalacze można wywoływać jawnie w tabeli w bazie danych.
Akcja i Zdarzenie to dwa główne składniki wyzwalaczy SQL. Gdy wykonywane są określone czynności, zdarzenie następuje w odpowiedzi na tę akcję.
Składnia:
CREATE TRIGGER name BEFORE (event [OR..]} ON table_name [FOR [EACH] ROW] EXECUTE PROCEDURE functionname {arguments}
P # 13) Co to jest widok w języku SQL?
Odpowiedź: Widok można zdefiniować jako wirtualną tabelę zawierającą wiersze i kolumny z polami z co najmniej jednej tabeli.
S yntax:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
P # 14) Jak możemy zaktualizować widok?
Odpowiedź: Do aktualizacji widoku można użyć SQL CREATE i REPLACE.
Wykonaj poniższe zapytanie, aby zaktualizować utworzony widok.
Składnia:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
P # 15) Wyjaśnij działanie uprawnień SQL?
Odpowiedź: Polecenia SQL GRANT i REVOKE służą do implementacji uprawnień w środowiskach SQL dla wielu użytkowników. Administrator bazy danych może nadawać lub odbierać uprawnienia użytkownikom obiektów bazy danych lub od nich za pomocą poleceń takich jak SELECT, INSERT, UPDATE, DELETE, ALL itp.
GRANT Command : To polecenie jest używane w celu zapewnienia dostępu do bazy danych użytkownikom innym niż administrator.
Składnia:
GRANT privilege_name ON object_name TO PUBLIC [WITH GRANT OPTION];
W powyższej składni opcja GRANT wskazuje, że użytkownik może przyznać dostęp również innemu użytkownikowi.
Polecenie REVOKE : To polecenie jest używane do zapewniania bazy danych odmowy lub usunięcia dostępu do obiektów bazy danych.
Składnia:
REVOKE privilege_name ON object_name FROM PUBLIC;
P # 16) Ile typów uprawnień jest dostępnych w SQL?
Odpowiedź: Istnieją dwa typy uprawnień używanych w języku SQL, takie jak
- Uprawnienia systemowe: Uprawnienie systemowe dotyczy obiektu określonego typu i zapewnia użytkownikom prawo do wykonania na nim jednej lub więcej czynności. Działania te obejmują wykonywanie zadań administracyjnych, ZMIEŃ DOWOLNY INDEKS, ZMIENIĆ DOWOLNĄ GRUPĘ CACHE UTWÓRZ / ZMIENIĆ / USUŃ TABELĘ, UTWÓRZ / ZMIEŃ / USUŃ WIDOK itp.
- Uprawnienia do obiektów: Pozwala to na wykonywanie działań na obiekcie lub obiekcie innego użytkownika, a mianowicie. tabela, widok, indeksy itp. Niektóre z uprawnień obiektu to EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES itp.
P # 17) Co to jest wstrzyknięcie SQL?
Odpowiedź: SQL Injection to rodzaj techniki ataku na bazę danych, w której złośliwe instrukcje SQL są wstawiane w pole wejściowe bazy danych w taki sposób, że po ich wykonaniu baza danych jest narażona na atak na atakującego. Technika ta jest zwykle używana do atakowania aplikacji opartych na danych w celu uzyskania dostępu do poufnych danych i wykonywania zadań administracyjnych na bazach danych.
Na przykład,
SELECT column_name(s) FROM table_name WHERE condition;
Q # 18) Co to jest piaskownica SQL w programie SQL Server?
Odpowiedź: SQL Sandbox to bezpieczne miejsce w środowisku serwera SQL, w którym wykonywane są niezaufane skrypty. Istnieją 3 typy piaskownicy SQL:
- Bezpieczny dostęp do piaskownicy: Tutaj użytkownik może wykonywać operacje SQL, takie jak tworzenie procedur składowanych, wyzwalaczy itp., Ale nie może mieć dostępu do pamięci, jak również nie może tworzyć plików.
- Zewnętrzna piaskownica dostępu: Użytkownicy mogą uzyskiwać dostęp do plików bez prawa do manipulowania przydziałem pamięci.
- Niebezpieczny dostęp do piaskownicy: Zawiera niezaufane kody, w których użytkownik może mieć dostęp do pamięci.
P # 19) Jaka jest różnica między SQL a PL / SQL?
Odpowiedź: SQL jest strukturalnym językiem zapytań do tworzenia i uzyskiwania dostępu do baz danych, podczas gdy PL / SQL zawiera proceduralne koncepcje języków programowania.
Q # 20) Jaka jest różnica między SQL a MySQL?
Odpowiedź: SQL jest strukturalnym językiem zapytań używanym do manipulowania relacyjną bazą danych i uzyskiwania do niej dostępu. Z drugiej strony, sam MySQL jest relacyjną bazą danych, która używa SQL jako standardowego języka bazy danych.
P # 21) Jakie jest zastosowanie funkcji NVL?
Odpowiedź: Funkcja NVL służy do konwersji wartości null na jej rzeczywistą wartość.
P # 22) Jaki jest iloczyn kartezjański tabeli?
Odpowiedź: Wynik funkcji Cross Join nazywany jest iloczynem kartezjańskim. Zwraca wiersze łącząc każdy wiersz z pierwszej tabeli z każdym wierszem drugiej tabeli. Na przykład, jeśli połączymy dwie tabele mające 15 i 20 kolumn, iloczyn kartezjański dwóch tabel będzie wynosił 15 × 20 = 300 wierszy.
P # 23) Co rozumiesz przez podzapytanie?
Odpowiedź: Zapytanie w ramach innego zapytania nosi nazwę Podzapytanie. Podzapytanie jest nazywane zapytaniem wewnętrznym, które zwraca dane wyjściowe, które mają być użyte przez inne zapytanie.
P # 24) Ile operatorów porównania wierszy jest używanych podczas pracy z podzapytaniem?
Odpowiedź: Istnieją 3-wierszowe operatory porównania, które są używane w podzapytaniach, takich jak IN, ANY i ALL.
P # 25) Jaka jest różnica między indeksami klastrowymi i nieklastrowymi?
Odpowiedź: Różnice między nimi są następujące:
- Jedna tabela może mieć tylko jeden indeks klastrowany, ale wiele indeksów nieklastrowych.
- Indeksy klastrowe można odczytać szybko, a nie indeksy nieklastrowe.
- Indeksy klastrowe przechowują dane fizycznie w tabeli lub widoku, podczas gdy indeksy nieklastrowe nie przechowują danych w tabeli, ponieważ ma ona strukturę oddzielną od wiersza danych.
P # 26) Jaka jest różnica między DELETE i TRUNCATE?
Odpowiedź: Różnice są następujące:
- Podstawową różnicą w obu przypadkach jest to, że polecenie DELETE to polecenie DML, a polecenie TRUNCATE to polecenie DDL.
- Polecenie DELETE służy do usuwania określonego wiersza z tabeli, podczas gdy polecenie TRUNCATE służy do usuwania wszystkich wierszy z tabeli.
- Możemy użyć polecenia DELETE z klauzulą WHERE, ale nie możemy użyć z nim polecenia TRUNCATE.
P # 27) Jaka jest różnica między DROP i TRUNCATE?
Odpowiedź: TRUNCATE usuwa wszystkie wiersze z tabeli, których nie można odzyskać, DROP usuwa całą tabelę z bazy danych i nie można jej również odzyskać.
P # 28) Jak napisać zapytanie, aby pokazać szczegóły ucznia z tabeli Students, której plik
nazwa zaczyna się na K?
Odpowiedź: Zapytanie:
SELECT * FROM Student WHERE Student_Name like ‘K%’;
Tutaj operator „like” jest używany do dopasowania wzorca.
P # 29) Jaka jest różnica między podzapytaniem zagnieżdżonym a podzapytaniem skorelowanym?
Odpowiedź: Podzapytanie w ramach innego podzapytania nazywa się podzapytaniem zagnieżdżonym. Jeśli dane wyjściowe podzapytania zależą od wartości kolumn nadrzędnej tabeli zapytań, wówczas zapytanie nosi nazwę Skorelowane podzapytanie.
SELECT adminid(SELEC Firstname+' '+Lastname FROM Employee WHERE empid=emp. adminid)AS EmpAdminId FROM Employee;
Wynikiem zapytania są szczegóły pracownika z tabeli Employee.
P # 30) Co to jest normalizacja? Ile jest formularzy normalizacyjnych?
Odpowiedź: Normalizacja służy do uporządkowania danych w taki sposób, aby ich nadmiarowość nigdy nie wystąpiła w bazie danych i aby uniknąć wstawiania, aktualizowania i usuwania anomalii.
Istnieje 5 form normalizacji:
- Pierwsza postać normalna (1NF): Usuwa wszystkie zduplikowane kolumny z tabeli. Tworzy tabelę dla powiązanych danych i identyfikuje unikalne wartości kolumn.
- Pierwsza postać normalna (2NF): Następuje po 1NF i tworzy i umieszcza podzbiory danych w indywidualnej tabeli oraz definiuje relacje między tabelami przy użyciu klucza podstawowego.
- Trzecia postać normalna (3NF): Następuje po 2NF i usuwa te kolumny, które nie są powiązane za pomocą klucza podstawowego.
- Czwarta postać normalna (4NF): Następuje po 3NF i nie definiuje zależności wielowartościowych. 4NF jest również znany jako BCNF.
P # 31) Co to jest związek? Ile jest rodzajów relacji?
Odpowiedź: Relację można zdefiniować jako połączenie między więcej niż jedną tabelą w bazie danych.
Istnieją 4 rodzaje relacji:
- Relacja jeden do jednego
- Relacja wiele do jednego
- Relacja wiele do wielu
- Relacja jeden do wielu
P # 32) Co rozumiesz przez procedury składowane? Jak tego używamy?
Odpowiedź: Procedura składowana to zbiór instrukcji SQL, których można używać jako funkcji dostępu do bazy danych. Możemy tworzyć te procedury składowane wcześniej przed ich użyciem i wykonywać je w dowolnym miejscu, stosując do nich pewną logikę warunkową. Procedury składowane są również używane w celu zmniejszenia ruchu w sieci i poprawy wydajności.
Składnia:
CREATE Procedure Procedure_Name ( //Parameters ) AS BEGIN SQL statements in stored procedures to update/retrieve records END
P # 33) Określić niektóre właściwości relacyjnych baz danych?
Odpowiedź: Właściwości są następujące:
- W relacyjnych bazach danych każda kolumna powinna mieć unikalną nazwę.
- Kolejność wierszy i kolumn w relacyjnych bazach danych jest nieistotna.
- Wszystkie wartości są niepodzielne, a każdy wiersz jest niepowtarzalny.
P # 34) Co to są wyzwalacze zagnieżdżone?
Odpowiedź: Wyzwalacze mogą implementować logikę modyfikacji danych za pomocą instrukcji INSERT, UPDATE i DELETE. Te wyzwalacze, które zawierają logikę modyfikacji danych i znajdują inne wyzwalacze do modyfikacji danych, nazywane są wyzwalaczami zagnieżdżonymi.
P # 35) Co to jest kursor?
Odpowiedź: Kursor to obiekt bazy danych, który służy do manipulowania danymi w sposób wiersz-wiersz.
Kursor wykonuje kroki podane poniżej:
- Zadeklaruj kursor
- Otwórz kursor
- Pobierz wiersz z kursora
- Przetwórz wiersz
- Zamknij kursor
- Zwolnij kursor
Q # 36) Co to jest sortowanie?
Odpowiedź: Sortowanie to zestaw reguł, które sprawdzają, jak dane są sortowane, porównując je. Na przykład dane znaków są przechowywane przy użyciu prawidłowej sekwencji znaków wraz z uwzględnieniem wielkości liter, typu i akcentu.
P # 37) Co musimy sprawdzić w testowaniu bazy danych?
Odpowiedź: W testowaniu baz danych wymagane jest przetestowanie następujących rzeczy:
- Łączność z bazą danych
- Sprawdzanie ograniczeń
- Wymagane pole aplikacji i jego rozmiar
- Pobieranie i przetwarzanie danych za pomocą operacji DML
- Procedury składowane
- Przepływ funkcjonalny
P # 38) Co to jest testowanie białej skrzynki bazy danych?
Odpowiedź: Testowanie bazy danych White Box obejmuje:
- Spójność bazy danych i właściwości ACID
- Wyzwalacze bazy danych i widoki logiczne
- Pokrycie decyzji, pokrycie warunków i pokrycie oświadczenia
- Tabele bazy danych, model danych i schemat bazy danych
- Więzy reguł integralności
P # 39) Co to jest testowanie czarnej skrzynki bazy danych?
Odpowiedź: Testowanie bazy danych Black Box obejmuje:
- Mapowanie danych
- Dane przechowywane i odzyskiwane
- Wykorzystanie technik testowania czarnoskrzynkowego, takich jak podział równoważności i analiza wartości brzegowych (BVA)
P # 40) Co to są indeksy w języku SQL?
Odpowiedź: Indeks można zdefiniować jako sposób na szybsze pobieranie danych. Możemy definiować indeksy za pomocą instrukcji CREATE.
Składnia:
CREATE INDEX index_name ON table_name (column_name)
Ponadto możemy również utworzyć unikalny indeks przy użyciu następującej składni:
CREATE UNIQUE INDEX index_name ON table_name (column_name)
AKTUALIZACJA: Dodaliśmy jeszcze kilka krótkich pytań do ćwiczeń.
P # 41) Co oznacza SQL?
Odpowiedź: SQL oznacza Strukturalny język zapytań .
Q # 42) Jak wybrać wszystkie rekordy z tabeli?
Odpowiedź: Aby wybrać wszystkie rekordy z tabeli, musimy użyć następującej składni:
Select * from table_name;
Q # 43) Zdefiniować złączenie i nazwać różne typy złączeń?
Odpowiedź: Słowo kluczowe Join służy do pobierania danych z co najmniej dwóch powiązanych tabel. Zwraca wiersze, w których występuje co najmniej jedno dopasowanie w obu tabelach objętych łączeniem. Przeczytaj więcej tutaj .
Typy połączeń to:
- Prawe połączenie
- Połączenie zewnętrzne
- Pełne połączenie
- Łączenie krzyżowe
- Dołącz do siebie.
P # 44) Jaka jest składnia dodawania rekordu do tabeli?
Odpowiedź: Aby dodać rekord do tabeli, używana jest składnia INSERT.
Na przykład,
INSERT into table_name VALUES (value1, value2..);
P # 45) Jak dodać kolumnę do tabeli?
Odpowiedź: Aby dodać kolejną kolumnę w tabeli, użyj następującego polecenia:
ALTER TABLE table_name ADD (column_name);
Zalecana lektura = >> Jak dodać kolumnę do tabeli w MySQL
Q # 46) Zdefiniuj instrukcję SQL DELETE.
Odpowiedź: DELETE służy do usuwania wiersza lub wierszy z tabeli na podstawie określonego warunku.
Podstawowa składnia jest następująca:
DELETE FROM table_name WHERE
Q # 47) Zdefiniuj COMMIT?
Odpowiedź: COMMIT zapisuje wszystkie zmiany wprowadzone przez instrukcje DML.
P # 48) Co to jest klucz podstawowy?
Odpowiedź: Klucz podstawowy to kolumna, której wartości jednoznacznie identyfikują każdy wiersz w tabeli. Nigdy nie można ponownie wykorzystać wartości klucza podstawowego.
Q # 49) Co to są klucze obce?
Odpowiedź: Gdy pole klucza podstawowego tabeli jest dodawane do powiązanych tabel w celu utworzenia wspólnego pola, które wiąże te dwie tabele, w innych tabelach nazywa się ono kluczem obcym. Ograniczenia klucza obcego wymuszają więzy integralności.
P # 50) Co to jest ograniczenie CHECK?
Odpowiedź: Ograniczenie CHECK służy do ograniczania wartości lub typu danych, które mogą być przechowywane w kolumnie. Służą do wymuszania integralności domeny.
Q # 51) Czy jest możliwe, aby tabela miała więcej niż jeden klucz obcy?
Odpowiedź: Tak, tabela może mieć wiele kluczy obcych, ale tylko jeden klucz podstawowy.
P # 52) Jakie są możliwe wartości pola danych BOOLEAN?
Odpowiedź: W przypadku pola danych typu BOOLEAN możliwe są dwie wartości: -1 (prawda) i 0 (fałsz).
P # 53) Co to jest procedura składowana?
Odpowiedź: Procedura składowana to zestaw zapytań SQL, które mogą pobierać dane wejściowe i odsyłać dane wyjściowe.
P # 54) Co to jest tożsamość w SQL?
Odpowiedź: Kolumna tożsamości, w której SQL automatycznie generuje wartości liczbowe. Możemy zdefiniować początek i wartość przyrostu kolumny tożsamości.
P # 55) Co to jest normalizacja?
Odpowiedź: Proces projektowania tabeli w celu zminimalizowania nadmiarowości danych nazywa się normalizacją. Musimy podzielić bazę danych na dwie lub więcej tabel i zdefiniować relacje między nimi.
P # 56) Co to jest wyzwalacz?
Odpowiedź: Wyzwalacz pozwala nam wykonać partię kodu SQL, gdy wystąpi zdarzenie dotyczące tabeli (polecenia INSERT, UPDATE lub DELETE są wykonywane na określonej tabeli).
Q # 57) Jak wybrać losowe wiersze z tabeli?
Odpowiedź: Za pomocą klauzuli SAMPLE możemy wybrać losowe wiersze.
Na przykład,
SELECT * FROM table_name SAMPLE(10);
P # 58) Na którym porcie TCP / IP działa SQL Server?
Odpowiedź: Domyślnie SQL Server działa na porcie 1433.
P # 59) Czy napisać zapytanie SQL SELECT, które zwraca każdą nazwę tylko raz z tabeli?
Odpowiedź: Aby otrzymać wynik jako każdą nazwę tylko raz, musimy użyć słowa kluczowego DISTINCT.
SELECT DISTINCT name FROM table_name;
Q # 60) Wyjaśnić DML i DDL?
Odpowiedź: DML oznacza język manipulacji danymi. INSERT, UPDATE i DELETE to instrukcje DML.
DDL oznacza język definicji danych. CREATE, ALTER, DROP, RENAME to instrukcje DDL.
P # 61) Czy możemy zmienić nazwę kolumny w danych wyjściowych zapytania SQL?
Odpowiedź: Tak, możemy to zrobić używając następującej składni.
SELECT column_name AS new_name FROM table_name;
Q # 62) Podaj kolejność SQL SELECT?
Odpowiedź: Kolejność klauzul SQL SELECT to: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Tylko klauzule SELECT i FROM są obowiązkowe.
P # 63) Załóżmy, że kolumna Ucznia ma dwie kolumny, Nazwisko i Znaki. Jak zdobyć nazwiska i oceny trzech najlepszych uczniów.
Odpowiedź: WYBIERZ Imię, Oceny od Studenta s1, gdzie 3<= (SELECT COUNT(*) FROM Students s2 WHERE s1.marks = s2.marks)
P # 64) Co to są komentarze SQL?
Odpowiedź: Komentarze SQL można wstawiać, dodając dwa następujące po sobie myślniki (-).
Q # 65) Różnica między poleceniami TRUNCATE, DELETE i DROP?
Odpowiedź:
- KASOWAĆ usuwa niektóre lub wszystkie wiersze z tabeli na podstawie warunku. Można go cofnąć.
- ŚCIĘTY usuwa WSZYSTKIE wiersze z tabeli przez cofnięcie alokacji stron pamięci. Operacji nie można cofnąć
- UPUSZCZAĆ polecenie całkowicie usuwa tabelę z bazy danych.
P # 66) Jakie są właściwości transakcji?
Odpowiedź: Ogólnie rzecz biorąc, te właściwości są określane jako właściwości ACID. Oni są:
- Atomowość
- Konsystencja
- Izolacja
- Trwałość.
Q # 67) Co masz na myśli mówiąc ROWID?
Odpowiedź: Jest to pseudokolumna o długości 18 znaków dołączona do każdego wiersza tabeli.
P # 68) Zdefiniuj UNION, MINUS, UNION ALL, INTERSECT?
Odpowiedź:
- MINUS - zwraca wszystkie odrębne wiersze wybrane przez pierwsze zapytanie, ale nie przez drugie.
- UNIA - zwraca wszystkie odrębne wiersze wybrane przez którekolwiek zapytanie
- UNIA WSZYSTKO - zwraca wszystkie wiersze wybrane przez którekolwiek zapytanie, w tym wszystkie duplikaty.
- KRZYŻOWAĆ - zwraca wszystkie odrębne wiersze wybrane przez oba zapytania.
Q # 69) Co to jest transakcja?
Odpowiedź: Transakcja to sekwencja kodu uruchamiana w bazie danych. Przenosi bazę danych z jednego spójnego stanu do drugiego.
P # 70) Jaka jest różnica między ograniczeniami UNIQUE i PRIMARY KEY?
Odpowiedź: Różnice są następujące:
- Tabela może mieć tylko jeden KLUCZ PODSTAWOWY, podczas gdy może istnieć dowolna liczba kluczy UNIKALNYCH.
- Klucz podstawowy nie może zawierać wartości Null, podczas gdy klucz Unique może zawierać wartości Null.
P # 71) Co to jest złożony klucz podstawowy?
Odpowiedź: Klucz podstawowy utworzony w więcej niż jednej kolumnie nazywany jest złożonym kluczem podstawowym.
P # 72) Co to jest indeks?
Odpowiedź: Indeks to specjalna struktura powiązana z tabelą, która przyspiesza wykonywanie zapytań. Indeks można utworzyć na jednej lub kilku kolumnach tabeli.
P # 73) Co to jest podzapytanie?
Odpowiedź: Podzapytanie to podzbiór instrukcji select, których wartości zwracane są używane w filtrowaniu warunków zapytania głównego.
P # 74) Co rozumiesz przez optymalizację zapytań?
Odpowiedź: Optymalizacja zapytań to proces, w którym system bazy danych porównuje różne strategie zapytań i wybiera zapytanie o najniższych kosztach.
Q # 75) Co to jest sortowanie?
Odpowiedź: Zestaw reguł określających sposób przechowywania danych, sposób traktowania rozróżniania wielkości liter i znaków Kana itp.
P # 76) Co to jest uczciwość referencyjna?
Odpowiedź: Zestaw reguł ograniczających wartości co najmniej jednej kolumny tabel na podstawie wartości klucza podstawowego lub klucza unikalnego tabeli, do której się odwołuje.
Q # 77) Jaka jest funkcja Case?
Odpowiedź: Case ułatwia stosowanie logiki typu if-then-else w SQL. Oblicza listę warunków i zwraca jedno z wielu możliwych wyrażeń wynikowych.
Q # 78) Zdefiniować tabelę tymczasową?
Odpowiedź: Tabela tymczasowa to tymczasowa struktura pamięci do tymczasowego przechowywania danych.
P # 79) Jak możemy uniknąć powielania rekordów w zapytaniu?
Odpowiedź: Używając słowa kluczowego DISTINCT, można uniknąć duplikowania rekordów w zapytaniu.
Q # 80) Wyjaśnij różnicę między zmianą nazwy a aliasem?
Odpowiedź: Zmień nazwę to stała nazwa nadana tabeli lub kolumnie, podczas gdy Alias to tymczasowa nazwa nadana tabeli lub kolumnie.
P # 81) Co to jest widok?
Odpowiedź: Widok to wirtualna tabela zawierająca dane z co najmniej jednej tabeli. Widoki ograniczają dostęp do danych w tabeli, wybierając tylko wymagane wartości i ułatwiając złożone zapytania.
P # 82) Jakie są zalety widoków?
Odpowiedź: Zalety widoków to:
- Widoki ograniczają dostęp do danych, ponieważ widok może wyświetlać wybrane kolumny z tabeli.
- Widoki mogą służyć do tworzenia prostych zapytań w celu pobrania wyników skomplikowanych zapytań. Na przykład, widoki mogą służyć do wykonywania zapytań o informacje z wielu tabel bez wiedzy użytkownika.
P # 83) Wymień różne uprawnienia, które użytkownik może nadać innemu użytkownikowi?
Odpowiedź: WYBIERZ, PODŁĄCZ, ZASOBY.
Q # 84) Co to jest schemat?
pytania i odpowiedzi do wywiadów netto dla odświeżających
Odpowiedź: Schemat to zbiór obiektów bazy danych Użytkownika.
Q # 85) Co to jest stół?
Odpowiedź: Tabela jest podstawową jednostką przechowywania danych w systemie zarządzania bazą danych. Dane tabeli są przechowywane w wierszach i kolumnach.
P # 86) Czy widok zawiera dane?
Odpowiedź: Nie, widoki to struktury wirtualne.
P # 87) Czy widok może być oparty na innym widoku?
Odpowiedź: Tak, widok jest oparty na innym widoku.
P # 88) Jaka jest różnica między klauzulą HAVING i WHERE?
Odpowiedź: Oba określają warunek wyszukiwania, ale klauzula having jest używana tylko z instrukcją SELECT i zwykle jest używana z klauzulą GROUP BY.
Jeśli klauzula GROUP BY nie jest używana, zachowuje się tylko jak klauzula WHERE.
P # 89) Jaka jest różnica między lokalnymi i globalnymi tabelami tymczasowymi?
Odpowiedź: Jeśli jest zdefiniowana w instrukcji złożonej, lokalna tabela tymczasowa istnieje tylko na czas trwania tej instrukcji, ale globalna tabela tymczasowa istnieje na stałe w bazie danych, ale jej wiersze znikają po zamknięciu połączenia.
Q # 90) Co to jest CTE?
Odpowiedź: CTE lub wspólne wyrażenie tabelowe to wyrażenie zawierające tymczasowy zestaw wyników zdefiniowany w instrukcji SQL.
Wniosek
SQL jest istotnym elementem systemu baz danych. Posiadanie dobrze zorientowanej znajomości bazy danych oraz pojęć SQL z pewnością będzie korzystne w złamaniu wywiadu dla danego profilu.
Poza niektórymi głównymi koncepcjami, istnieją pewne ukryte fakty, które pozostają niewidoczne i wpływają na twoje wyniki w wywiadzie. W tym samouczku próbowałem przypomnieć sobie niektóre z tych pojęć, które wydają się małe, ale nie należy ich lekceważyć.
Mam nadzieję, że w tym artykule znajdziesz odpowiedzi na najczęściej zadawane pytania podczas rozmowy kwalifikacyjnej SQL. Znajomość SQL jest obowiązkowa dla każdego testera, a ten artykuł pomoże Ci w przygotowaniu wywiadu.
Dalsza lektura => Wszystko o testowaniu baz danych
rekomendowane lektury
- Pytania i odpowiedzi do wywiadu
- Najpopularniejsze pytania do wywiadów Oracle: pytania dotyczące Oracle Basic, SQL, PL / SQL
- 30 najważniejszych pytań i odpowiedzi do wywiadów PL / SQL w 2021 r
- ETL Pytania i odpowiedzi podczas rozmowy kwalifikacyjnej testującej
- Najważniejsze pytania i odpowiedzi do wywiadów Teradata
- Niektóre trudne pytania i odpowiedzi do testowania ręcznego
- 25 najlepszych pytań i odpowiedzi na rozmowę z testami zwinnymi
- Pytania do wywiadu Spocka z odpowiedziami (najpopularniejsze)