logo

Otázky na pohovor SQL

SQL je štandardný databázový jazyk používaný na prístup a manipuláciu s údajmi v databázach. To znamená Štruktúrovaný Dopytovací Jazyk a bol vyvinutý spoločnosťou IBM Computer Scientists v 70. rokoch minulého storočia. Spúšťaním dotazov môže SQL vytvárať, aktualizovať, mazať a získavať údaje v databázach ako MySQL, Oracle, PostgreSQL atď. Celkovo je SQL dotazovací jazyk, ktorý komunikuje s databázami.

V tomto článku sa zaoberáme 70+ SQL pohovorových otázok s odpoveďami pýtali sa v rozhovoroch pre vývojárov SQL v MAANG a iných vysoko platených spoločnostiach. Či už ste čerstvejší alebo skúsený profesionál s 2, 5 alebo 10 rokmi skúseností, tento článok vám dá všetku sebadôveru, ktorú potrebujete, aby ste zvládli ďalší pohovor SQL.



Obsah

Otázky a odpovede na pohovor SQL pre začiatočníkov

1. Čo je SQL?

SQL znamená Structured Query Language. Je to jazyk používaný na interakciu s databázou, t. j. na vytvorenie databázy, vytvorenie tabuľky v databáze, načítanie údajov alebo aktualizáciu tabuľky v databáze atď. SQL je štandard ANSI (American National Standards Institute). Pomocou SQL môžeme robiť veľa vecí. Napríklad – môžeme vykonávať dotazy, môžeme vkladať záznamy do tabuľky, môžeme aktualizovať záznamy, môžeme vytvoriť databázu, môžeme vytvoriť tabuľku, môžeme odstrániť tabuľku atď.



2. Čo je databáza?

A Databáza je definovaná ako štruktúrovaná forma ukladania údajov v počítači alebo organizovaný zber údajov, ku ktorým možno pristupovať rôznymi spôsobmi. Je to tiež zbierka schém, tabuliek, dotazov, pohľadov atď. Databázy nám pomáhajú s jednoduchým ukladaním, prístupom a manipuláciou s údajmi uloženými v počítači. Systém správy databáz umožňuje používateľovi interakciu s databázou.

3. Podporuje SQL funkcie programovacieho jazyka?

Je pravda, že SQL je jazyk, ale nepodporuje programovanie, pretože to nie je programovací jazyk, je to príkazový jazyk. V SQL nemáme podmienené príkazy ako for loops alebo if..else, máme len príkazy, ktoré môžeme použiť na dotazovanie, aktualizáciu, mazanie atď. dát v databáze. SQL nám umožňuje manipulovať s údajmi v databáze.

4. Aký je rozdiel medzi údajovým typom CHAR a VARCHAR2 v SQL?

Oba tieto typy údajov sa používajú pre znaky, ale varchar2 sa používa pre reťazce znakov s premenlivou dĺžkou, zatiaľ čo znak char sa používa pre reťazce znakov s pevnou dĺžkou. Napríklad , ak zadáme typ ako char(5), potom nebudeme môcť do tejto premennej uložiť reťazec akejkoľvek inej dĺžky, ale ak zadáme typ tejto premennej ako varchar2(5), budeme môcť uložiť reťazce s premenlivou dĺžkou. Do tejto premennej môžeme uložiť reťazec dĺžky 3 alebo 4 alebo 2.



5. Čo rozumiete pod pojmom jazyk definície údajov?

Jazyk definície údajov alebo DDL umožňuje vykonávať dotazy ako CREATE, DROP a ALTER. To sú otázky, ktoré definujú údaje.

6. Čo rozumiete pod pojmom jazyk manipulácie s údajmi?

Manipulácia s údajmi Jazyk alebo DML sa používa na prístup alebo manipuláciu s údajmi v databáze. Umožňuje nám vykonávať funkcie uvedené nižšie:

  • Vložte údaje alebo riadky do databázy
  • Vymažte údaje z databázy
  • Načítať alebo načítať údaje
  • Aktualizujte údaje v databáze.

7. Aký je pohľad v SQL?

Zobrazenia v SQL sú akýmsi virtuálnym stolom. Pohľad má tiež riadky a stĺpce tak, ako sú v skutočnej tabuľke v databáze. Pohľad môžeme vytvoriť výberom polí z jednej alebo viacerých tabuliek prítomných v databáze. Zobrazenie môže mať buď všetky riadky tabuľky alebo špecifické riadky na základe určitých podmienok.

Príkaz CREATE VIEW jazyka SQL sa používa na vytváranie zobrazení.

Základná syntax:

CREATE VIEW view_name AS SELECT column1, column2..... FROM table_name WHERE condition;    view_name  : Name for the View   table_name  : Name of the table   condition  : Condition to select rows>

8. Čo rozumiete pod pojmom cudzí kľúč?

A Cudzí kľúč je pole, ktoré dokáže jednoznačne identifikovať každý riadok v inej tabuľke. A toto obmedzenie sa používa na určenie poľa ako cudzieho kľúča. To znamená, že toto pole ukazuje na primárny kľúč inej tabuľky. To zvyčajne vytvára akési prepojenie medzi dvoma tabuľkami.

Zvážte dve tabuľky, ako je uvedené nižšie:

objednávky

O_ID ČÍSLO OBJEDNÁVKY C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

zákazníkov

C_ID NÁZOV ADRESA
1 RAMESH DILLÍ
2 SURESH NOIDA
3 DHARMÉŠSKÝ GURGAON

Ako jasne vidíme, pole C_ID v tabuľke Objednávky je primárnym kľúčom v tabuľke Zákazníci, t. j. jednoznačne identifikuje každý riadok v tabuľke Zákazníci. Preto je to Cudzí kľúč v tabuľke Objednávky.

Syntax:

CREATE TABLE Orders ( O_ID int NOT NULL, ORDER_NO int NOT NULL, C_ID int, PRIMARY KEY (O_ID), FOREIGN KEY (C_ID) REFERENCES Customers(C_ID) )>

9. Čo je tabuľka a pole?

Tabuľka: Tabuľka obsahuje kombináciu riadkov a stĺpcov. Riadky sa nazývajú záznamy a stĺpce sa nazývajú polia. V MS SQL Server sú tabuľky označené v rámci databázy a názvov schém.

Lúka: V DBMS môže byť databázové pole definované ako – jedna informácia zo záznamu.

10. Čo je primárny kľúč?

A Primárny kľúč je jedným z kandidátskych kľúčov. Jeden z kandidátskych kľúčov sa vyberie ako najdôležitejší a stane sa primárnym kľúčom. V tabuľke nemôže byť viac ako jeden primárny kľúč.

11. Čo je predvolené obmedzenie?

The DEFAULT obmedzenie sa používa na vyplnenie stĺpca predvolenými a pevnými hodnotami. Hodnota bude pridaná ku všetkým novým záznamom, keď nebude zadaná žiadna iná hodnota.

12. Čo je normalizácia?

Ide o proces analýzy daných relačných schém na základe ich funkčných závislostí a primárnych kľúčov, aby sa dosiahli nasledujúce žiaduce vlastnosti:

  1. Minimalizácia redundancie
  2. Minimalizácia anomálií vkladania, vymazávania a aktualizácie

Relačné schémy, ktoré nespĺňajú vlastnosti, sú rozložené na menšie relačné schémy, ktoré by mohli spĺňať požadované vlastnosti.

13. Čo je denormalizácia?

Denormalizácia je technika optimalizácie databázy, pri ktorej pridávame redundantné údaje do jednej alebo viacerých tabuliek. To nám môže pomôcť vyhnúť sa nákladným spojeniam v relačnej databáze. Všimnite si, že denormalizácia neznamená nerobiť normalizáciu. Ide o optimalizačnú techniku, ktorá sa aplikuje po normalizácii.

V tradičnej normalizovanej databáze ukladáme údaje do samostatných logických tabuliek a snažíme sa minimalizovať nadbytočné údaje. Môžeme sa snažiť mať v databáze iba jednu kópiu každého údaja.

14. Čo je to dopyt?

An SQL dotaz sa používa na získanie požadovaných údajov z databázy. Môže však existovať viacero SQL dotazov, ktoré prinášajú rovnaké výsledky, ale s rôznou úrovňou účinnosti. Neefektívny dotaz môže vyčerpať databázové zdroje, znížiť rýchlosť databázy alebo viesť k strate služieb pre iných používateľov. Preto je veľmi dôležité optimalizovať dotaz, aby ste dosiahli čo najlepší výkon databázy.

15. Čo je to poddotaz?

V SQL, a Poddotaz možno jednoducho definovať ako dotaz v rámci iného dotazu. Inými slovami, môžeme povedať, že poddotaz je dotaz, ktorý je vložený do klauzuly WHERE iného SQL dotazu.

16. Aké sú rôzne operátory dostupné v SQL?

V SQL sú k dispozícii tri operátory, a to:

  1. Aritmetické operátory
  2. Logické operátory
  3. Porovnávacie operátory

17. Čo je to obmedzenie?

Obmedzenia sú pravidlá, ktoré môžeme aplikovať na typ údajov v tabuľke. To znamená, že môžeme určiť limit typu údajov, ktoré môžu byť uložené v konkrétnom stĺpci v tabuľke pomocou obmedzení. Viac podrobností nájdete na SQL|Obmedzenia článok.

18. Čo je integrita údajov?

Integrita údajov je definovaná ako údaje obsiahnuté v databáze, ktoré sú správne a konzistentné. Na tento účel musia údaje uložené v databáze spĺňať určité typy postupov (pravidiel). Údaje v databáze musia byť správne a konzistentné. Údaje uložené v databáze teda musia spĺňať určité typy procedúr (pravidiel). DBMS poskytuje rôzne spôsoby implementácie takýchto typov obmedzení (pravidiel). To zlepšuje integritu údajov v databáze. Ďalšie podrobnosti nájdete v časti rozdiel medzi bezpečnosťou údajov a integritou údajov článok.

19. Čo je automatický prírastok?

Niekedy pri vytváraní tabuľky nemáme v tabuľke jedinečný identifikátor, a preto čelíme ťažkostiam pri výbere primárneho kľúča. Aby sme tento problém vyriešili, musíme ku každému záznamu manuálne poskytnúť jedinečné kľúče, no často je to aj únavná úloha. Môžeme teda použiť funkciu Auto-Increment, ktorá automaticky generuje číselnú hodnotu primárneho kľúča pre každý nový vložený záznam. Funkciu Auto Increment podporujú všetky databázy. Ďalšie podrobnosti nájdete v časti Automatické zvýšenie SQL článok.

20. Čo je to porovnávanie MySQL?

Porovnanie MySQL je dobre definovaný súbor pravidiel, ktoré sa používajú na porovnanie znakov konkrétnej znakovej sady pomocou ich zodpovedajúceho kódovania. Každá znaková sada v MySQL môže mať viac ako jedno zoradenie a má aspoň jedno predvolené zoradenie. Dve sady znakov nemôžu mať rovnaké zoradenie. Ďalšie podrobnosti nájdete v časti Čo je porovnávanie a znaková sada v MySQL? článok.

21. Čo sú používateľom definované funkcie?

Môžeme použiť užívateľom definované funkcie v PL/SQL alebo Java na poskytovanie funkcií, ktoré nie sú dostupné v SQL alebo vstavaných funkciách SQL. Funkcie SQL a funkcie definované používateľom sa môžu objaviť kdekoľvek, to znamená všade tam, kde sa vyskytuje výraz.

Môže sa použiť napríklad v:

  • Vyberte zoznam príkazov SELECT.
  • Podmienka klauzuly WHERE.
  • PRIPOJTE SA, OBJEDNAJ PODĽA, ZAČNITE S a ZOSKUPTE PODĽA
  • Klauzula VALUES príkazu INSERT.
  • Klauzula SET príkazu UPDATE.

22. Aké sú všetky typy funkcií definovaných používateľom?

Používateľom definované funkcie umožňujú ľuďom definovať svoje vlastné funkcie T-SQL, ktoré môžu akceptovať 0 alebo viac parametrov a vrátiť jednu skalárnu hodnotu údajov alebo typ údajov tabuľky.
Rôzne druhy vytvorených používateľom definovaných funkcií sú:

1. Skalárna funkcia definovaná používateľom Skalárna užívateľom definovaná funkcia vracia jeden zo skalárnych dátových typov. Typy údajov text, obrázok a časová pečiatka nie sú podporované. Ide o typ užívateľsky definovaných funkcií, na ktoré je väčšina vývojárov zvyknutá v iných programovacích jazykoch. Zadáte 0 mnohým parametrom a získate návratovú hodnotu.

2. Inline Table-Value User-Defined Function Používateľom definovaná funkcia Inline Table-Value vracia typ údajov tabuľky a je výnimočnou alternatívou k pohľadu, pretože používateľom definovaná funkcia môže odovzdávať parametre do príkazu T-SQL select a v podstate nám poskytuje parametrizovaný, ne -aktualizovateľný pohľad na základné tabuľky.

3. Funkcia definovaná používateľom s tabuľkovou hodnotou s viacerými príkazmi Používateľom definovaná funkcia Multi-Statement Table-Value vracia tabuľku a je tiež výnimočnou alternatívou k pohľadu, pretože funkcia môže podporovať viacero príkazov T-SQL na vytvorenie konečného výsledku, kde je zobrazenie obmedzené na jeden príkaz SELECT. Schopnosť odovzdať parametre do príkazu TSQL select alebo ich skupiny nám tiež dáva možnosť v podstate vytvoriť parametrizovaný, neaktualizovateľný pohľad na údaje v základných tabuľkách. V rámci príkazu create function musíte definovať štruktúru tabuľky, ktorá sa vracia. Po vytvorení tohto typu užívateľom definovanej funkcie ju možno použiť v klauzule FROM príkazu T-SQL, na rozdiel od správania zisteného pri použití uloženej procedúry, ktorá môže vrátiť aj sady záznamov.

23. Čo je to uložená procedúra?

Uložené procedúry sú vytvorené na vykonávanie jednej alebo viacerých operácií DML s databázami. Nie je to nič iné ako skupina príkazov SQL, ktoré prijímajú nejaký vstup vo forme parametrov a vykonávajú nejakú úlohu a môžu alebo nemusia vrátiť hodnotu. Viac podrobností nájdete v našom Uložené procedúry v SQL článok.

24. Čo sú agregované a skalárne funkcie?

Na vykonávanie operácií s údajmi má SQL mnoho vstavaných funkcií, sú kategorizované do dvoch kategórií a ďalej rozdelené do siedmich rôznych funkcií v rámci každej kategórie. Kategórie sú:

  • Súhrnné funkcie: Tieto funkcie sa používajú na vykonávanie operácií z hodnôt stĺpca a vráti sa jedna hodnota.
  • Skalárne funkcie: Tieto funkcie sú založené na používateľskom vstupe a tiež vracajú jednu hodnotu.

Pre viac podrobností si, prosím, prečítajte SQL | Funkcie (agregované a skalárne funkcie) článok.

25. Čo je príkaz ALIAS?

Aliasy sú dočasné názvy priradené tabuľke alebo stĺpcu na účely konkrétneho dotazu SQL. Používa sa, keď sa názov stĺpca alebo tabuľky používa iný ako pôvodný názov, ale upravený názov je len dočasný.

  • Aliasy sa vytvárajú, aby boli názvy tabuliek alebo stĺpcov čitateľnejšie.
  • Premenovanie je len dočasná zmena a názov tabuľky sa v pôvodnej databáze nemení.
  • Aliasy sú užitočné, keď sú názvy tabuliek alebo stĺpcov veľké alebo zle čitateľné.
  • Tieto sú preferované, ak je v dotaze zahrnutých viac ako jedna tabuľka.

Pre viac podrobností si, prosím, prečítajte SQL | Aliasy článok.

26. Čo sú to príkazy Union, mínus a Interact?

Operácie množiny v SQL eliminujú duplicitné n-tice a možno ich použiť iba na vzťahy, ktoré sú kompatibilné s jednotným spojením. Operácie sady dostupné v SQL sú:

  • Nastavte Union
  • Nastaviť križovatku
  • Nastaviť rozdiel

Operácia UNION: Táto operácia zahŕňa všetky n-tice, ktoré sú prítomné v niektorom z týchto vzťahov. Napríklad: Ak chcete nájsť všetkých zákazníkov, ktorí majú pôžičku alebo účet alebo oboje v banke.

 SELECT CustomerName FROM Depositor   UNION   SELECT CustomerName FROM Borrower ;>

Operácia spojenia automaticky eliminuje duplikáty. Ak sa majú zachovať všetky duplikáty, namiesto UNION sa použije UNION ALL.

Operácia INTERSECT: Táto operácia zahŕňa n-tice, ktoré sú prítomné v oboch vzťahoch. Napríklad: Ak chcete nájsť zákazníkov, ktorí majú pôžičku aj účet v banke:

 SELECT CustomerName FROM Depositor   INTERSECT  SELECT CustomerName FROM Borrower ;>

Operácia Intersect automaticky eliminuje duplikáty. Ak sa majú zachovať všetky duplikáty, namiesto INTERSECT sa použije INTERSECT ALL.

OKREM prevádzky: Táto operácia zahŕňa n-tice, ktoré sú prítomné v jednom vzťahu, ale nemali by byť prítomné v inom vzťahu. Napríklad: Ak chcete nájsť zákazníkov, ktorí majú v banke účet, ale nemajú pôžičku:

 SELECT CustomerName FROM Depositor   EXCEPT  SELECT CustomerName FROM Borrower ;>

Operácia Except automaticky eliminuje duplikáty. Ak sa majú zachovať všetky duplikáty, použije sa EXCEPT ALL namiesto EXCEPT.

27. Čo je T-SQL?

T-SQL je skratka pre Transact Structure Query Language. Je to produkt spoločnosti Microsoft a je rozšírením jazyka SQL, ktorý sa používa na interakciu s relačnými databázami. Má sa za to, že najlepšie funguje so servermi Microsoft SQL. Príkazy T-SQL sa používajú na vykonávanie transakcií do databáz. T-SQL má obrovský význam, pretože všetka komunikácia s inštanciou servera SQL sa uskutočňuje odosielaním príkazov Transact-SQL na server. Používatelia môžu tiež definovať funkcie pomocou T-SQL.

Typy funkcií T-SQL sú:

  • Agregátne funkcie.
  • Rebríček funkcie. Existujú rôzne typy hodnotiacich funkcií.
  • Sada riadkov funkciu.
  • Skalárne funkcie.

28. Čo je ETL v SQL?

ETL je proces v dátovom sklade a znamená to Extrakt , transformovať, a Naložiť . Je to proces, v ktorom nástroj ETL extrahuje údaje z rôznych systémov zdrojov údajov, transformuje ich v pracovnej oblasti a nakoniec ich načíta do systému Data Warehouse. Ide o tri databázové funkcie, ktoré sú začlenené do jedného nástroja na vytiahnutie údajov z jednej databázy a vloženie údajov do inej databázy.

29. Ako kopírovať tabuľky v SQL?

Niekedy v SQL potrebujeme vytvoriť presnú kópiu už definovanej (alebo vytvorenej) tabuľky. MySQL umožňuje vykonať túto operáciu. Pretože takéto duplicitné tabuľky môžeme potrebovať na testovanie údajov bez toho, aby to ovplyvnilo pôvodnú tabuľku a údaje v nej uložené.

CREATE TABLE Contact List(Clone_1) LIKE Original_table;>

Ak chcete získať ďalšie podrobnosti, prečítajte si Klonovacia tabuľka v a MySQL článok.

30. Čo je SQL injection?

Vkladanie SQL je technika používaná na využívanie používateľských údajov prostredníctvom vstupov webovej stránky vložením príkazov SQL ako príkazov. V zásade môžu byť tieto vyhlásenia použité na manipuláciu webového servera aplikácie používateľmi so zlými úmyslami.

  • SQL injection je technika vstrekovania kódu, ktorá môže zničiť vašu databázu.
  • SQL injection je jednou z najbežnejších techník hackovania webu.
  • Injekcia SQL je umiestnenie škodlivého kódu do príkazov SQL prostredníctvom vstupu z webovej stránky.

Pre viac podrobností si, prosím, prečítajte SQL | Injekcia článok.

31. Môžeme deaktivovať spúšťač? Ak áno, ako?

Áno, spúšťač môžeme deaktivovať v PL/SQL. Ak zvážite dočasné zakázanie spúšťača a je splnená jedna z nasledujúcich podmienok:

  • Objekt, na ktorý spúšťač odkazuje, nie je dostupný.
  • Musíme vykonať veľké zaťaženie údajov a chcieť, aby to prebiehalo rýchlo bez spúšťania spúšťačov.
  • Načítavame údaje do tabuľky, na ktorú sa spúšťač vzťahuje.
  • Spúšťač zakážeme pomocou príkazu ALTER TRIGGER s voľbou DISABLE.
  • Všetky spúšťače priradené k tabuľke môžeme súčasne zakázať pomocou príkazu ALTER TABLE s voľbou DISABLE ALL TRIGGERS.

Intermediate SQL Interview Otázky a odpovede

32. Aké sú rozdiely medzi SQL a PL/SQL?

Niektoré bežné rozdiely medzi SQL a PL/SQL sú uvedené nižšie:

SQL

PL/SQL

pete davidson

SQL je spúšťací alebo príkazový jazyk

PL/SQL je kompletný programovací jazyk

SQL je dátovo orientovaný jazyk.

PL/SQL je procedurálny jazyk

SQL má veľmi deklaratívny charakter.

PL/SQL má procedurálny charakter.

Používa sa na manipuláciu s údajmi.

Používa sa na vytváranie aplikácií.

V SQL môžeme vykonávať jeden príkaz naraz

Môžeme vykonávať bloky príkazov v PL/SQL

SQL hovorí databázam, čo robiť?

PL/SQL hovorí databázam, ako to urobiť.

SQL môžeme vložiť do PL/SQL

Nemôžeme vložiť PL/SQL do SQL

33. Aký je rozdiel medzi operátormi BETWEEN a IN v SQL?

MEDZI: The MEDZI Operátor sa používa na načítanie riadkov na základe rozsahu hodnôt.
Napríklad,

SELECT * FROM Students  WHERE ROLL_NO BETWEEN 20 AND 30;>

Tento dotaz vyberie všetky tieto riadky z tabuľky. Študenti, kde hodnota poľa ROLL_NO leží medzi 20 a 30.
IN: The IN operátor sa používa na kontrolu hodnôt obsiahnutých v špecifických súboroch.
Napríklad,

SELECT * FROM Students  WHERE ROLL_NO IN (20,21,23);>

Tento dotaz vyberie všetky tie riadky z tabuľky Študenti, kde hodnota poľa ROLL_NO je buď 20 alebo 21 alebo 23.

34. Napíšte SQL dotaz na nájdenie mien zamestnancov začínajúcich na „A“.

Na tento účel sa používa operátor LIKE SQL. Používa sa na získanie filtrovaných údajov vyhľadávaním konkrétneho vzoru v klauzule where.
Syntax pre použitie LIKE je,

SELECT stĺpec1,stĺpec2 FROM názov_tabuľky WHERE názov_stĺpca vzor LIKE;

PÁČI SA MI TO: meno operátora

vzor: presná hodnota extrahovaná zo vzoru na získanie súvisiacich údajov v sade výsledkov.

Požadovaný dotaz je:

SELECT * FROM Employees WHERE EmpName like 'A%' ;>

Môžete si prečítať tento článok klauzula WHERE pre viac informácií u operátora LIKE.

35. Aký je rozdiel medzi primárnym kľúčom a jedinečnými obmedzeniami?

Primárny kľúč nemôže mať hodnoty NULL, jedinečné obmedzenia môžu mať hodnoty NULL. V tabuľke je len jeden primárny kľúč, ale môže existovať viacero jedinečných obmedzení. Primárny kľúč vytvorí klastrovaný index automaticky, ale jedinečný kľúč nie.

36. Čo je to spojenie v SQL? Aké sú typy spojení?

Príkaz SQL Join sa používa na spojenie údajov alebo riadkov z dvoch alebo viacerých tabuliek na základe spoločného poľa medzi nimi. Rôzne typy spojení sú:

  • VNÚTORNÉ SPOJENIE : Kľúčové slovo INNER JOIN vyberá všetky riadky z oboch tabuliek, pokiaľ je splnená podmienka. Toto kľúčové slovo vytvorí množinu výsledkov spojením všetkých riadkov z oboch tabuliek, kde podmienka vyhovuje, t. j. hodnota spoločného poľa bude rovnaká.
  • ĽAVÉ PRIPOJENIE : Toto spojenie vráti všetky riadky tabuľky na ľavej strane spojenia a zodpovedajúce riadky pre tabuľku na pravej strane spojenia. Pre riadky, pre ktoré neexistuje žiadny zodpovedajúci riadok na pravej strane, bude množina výsledkov nulová. LEFT JOIN je tiež známy ako LEFT OUTER JOIN
  • SPRÁVNE PRIPOJTE SA : RIGHT JOIN je podobné ako LEFT JOIN. Toto spojenie vráti všetky riadky tabuľky na pravej strane spojenia a zodpovedajúce riadky pre tabuľku na ľavej strane spojenia. Pre riadky, pre ktoré na ľavej strane neexistuje žiadny zodpovedajúci riadok, bude sada výsledkov obsahovať hodnotu null. RIGHT JOIN je tiež známy ako RIGHT OUTER JOIN.
  • ÚPLNÉ PRIPOJENIE : FULL JOIN vytvorí sadu výsledkov kombináciou výsledkov LEFT JOIN a RIGHT JOIN. Sada výsledkov bude obsahovať všetky riadky z oboch tabuliek. Pre riadky, pre ktoré neexistuje žiadna zhoda, bude sada výsledkov obsahovať hodnoty NULL.

37. Čo je index?

Databázový index je dátová štruktúra, ktorá zvyšuje rýchlosť operácií získavania údajov v databázovej tabuľke za cenu dodatočných zápisov a použitia väčšieho úložného priestoru na uchovanie extra kópie údajov. Dáta môžu byť uložené iba v jednej objednávke na disk. Na podporu rýchlejšieho prístupu podľa rôznych hodnôt je potrebné rýchlejšie vyhľadávanie, napríklad binárne vyhľadávanie rôznych hodnôt. Na tento účel sa vytvárajú indexy na tabuľkách. Tieto indexy potrebujú miesto na disku navyše, umožňujú však rýchlejšie vyhľadávanie podľa rôznych často vyhľadávaných hodnôt.

38. Čo je kaskádové obmedzenie On Delete?

Obmedzenie „ON DELETE CASCADE“ sa používa v MySQL na automatické vymazanie riadkov z podradenej tabuľky, keď sa vymažú riadky z nadradenej tabuľky. Ak chcete získať ďalšie podrobnosti, prečítajte si MySQL – obmedzenie kaskádového vymazania článok.

39. Vysvetlite klauzulou WITH v SQL?

Klauzula WITH poskytuje vzťah na definovanie dočasného vzťahu, ktorého definícia je dostupná len pre dotaz, v ktorom sa vyskytuje klauzula with. SQL aplikuje predikáty v klauzule WITH po vytvorení skupín, takže možno použiť agregačné funkcie.

40. Aké sú všetky rôzne atribúty indexov?

Indexovanie má rôzne atribúty:

  • Typy prístupu : Vzťahuje sa na typ prístupu, ako je vyhľadávanie založené na hodnote, prístup k rozsahu atď.
  • Čas prístupu : Vzťahuje sa na čas potrebný na nájdenie konkrétneho dátového prvku alebo množiny prvkov.
  • Čas vloženia : Vzťahuje sa na čas potrebný na nájdenie vhodného priestoru a vloženie nových údajov.
  • Čas vymazania : Nájdenie položky a jej vymazanie, ako aj aktualizácia štruktúry indexu si vyžaduje čas.
  • Priestor nad hlavou : Vzťahuje sa na dodatočný priestor požadovaný indexom.

41. Čo je to kurzor?

Kurzor je Dočasná pamäť alebo Dočasná pracovná stanica. Je pridelený databázovým serverom v čase vykonávania operácií DML na tabuľke používateľom. Na ukladanie databázových tabuliek sa používajú kurzory.

42. Zapíšte si rôzne typy vzťahov v SQL?

Existujú rôzne vzťahy, konkrétne:

  • Vzťah jeden k jednému.
  • Jeden k mnohým vzťahom.
  • Vzťah veľa k jednému.
  • Seba-referenčný vzťah.

43. Čo je spúšťač?

Spúšť je príkaz, ktorý systém vykoná automaticky, keď dôjde k akejkoľvek úprave databázy. V spúšťači najprv špecifikujeme, kedy sa má spúšťač vykonať, a potom akciu, ktorá sa má vykonať, keď sa spúšťač vykoná. Spúšťače sa používajú na zadanie určitých obmedzení integrity a referenčných obmedzení, ktoré nemožno zadať pomocou mechanizmu obmedzení SQL.

44. Aký je rozdiel medzi príkazmi SQL DELETE a SQL TRUNCATE?

SQL DELETE

SQL TRUNCATE

Príkaz DELETE odstraňuje riadky po jednom a zaznamenáva záznam do denníka transakcií pre každý odstránený riadok. TRUNCATE TABLE odstráni údaje uvoľnením údajových stránok používaných na uloženie údajov tabuľky a do protokolu transakcií zaznamená iba uvoľnenia stránok.
Príkaz DELETE je pomalší ako príkaz identityTRUNCATE. Zatiaľ čo príkaz TRUNCATE je rýchlejší ako príkaz DELETE.
Ak chcete použiť funkciu Odstrániť, potrebujete povolenie DELETE v tabuľke. Ak chcete použiť skrátenie na stole, potrebujeme na stole aspoň povolenie ALTER.
Identita stĺpca si zachová identitu po použití príkazu DELETE v tabuľke. Identita stĺpca sa nastaví na počiatočnú hodnotu, ak tabuľka obsahuje stĺpec identity.
Odstránenie možno použiť s indexovanými zobrazeniami. Skrátiť nemožno použiť s indexovanými zobrazeniami.

45. Aký je rozdiel medzi klastrovým a neklastrovým indexom?

KLUSTEROVÝ INDEX INDEX NEROZKUSTROVANÝ
Klastrovaný index je rýchlejší. Nezhlukovaný index je pomalší.
Klastrovaný index vyžaduje menej pamäte na operácie. Neklastrovaný index vyžaduje viac pamäte na operácie.
V klastrovanom indexe je index hlavným údajom. V indexe Non-Clustered je index kópiou údajov.
Tabuľka môže mať iba jeden klastrovaný index. Tabuľka môže mať viacero indexov bez klastrov.
Klastrovaný index má prirodzenú schopnosť ukladať údaje na disk. Index bez klastrov nemá prirodzenú schopnosť ukladať údaje na disk.
Klastrované indexy ukladajú ukazovatele na blokovanie, nie údaje. Index bez klastrov ukladá hodnotu aj ukazovateľ na skutočný riadok, ktorý obsahuje údaje.
V klastrovaných listových uzloch indexu sú samotné skutočné údaje. V indexe bez klastrov nie sú listové uzly samotnými skutočnými údajmi, ale obsahujú iba zahrnuté stĺpce.
V indexe Clustered kľúč Clustered definuje poradie údajov v tabuľke. V indexe bez klastrov kľúč indexu definuje poradie údajov v indexe.
Klastrovaný index je typ indexu, v ktorom sú záznamy tabuľky fyzicky preusporiadané tak, aby zodpovedali indexu. Neklastrovaný index je špeciálny typ indexu, v ktorom sa logické poradie indexu nezhoduje s fyzickým uloženým poradím riadkov na disku.

Ďalšie podrobnosti nájdete v časti Rozdiel medzi klastrovým indexom a bez klastrovým indexom článok.

46. ​​Čo je to Live Lock?

Livelock nastáva, keď dva alebo viac procesov neustále opakuje rovnakú interakciu v reakcii na zmeny v iných procesoch bez toho, aby vykonali nejakú užitočnú prácu. Tieto procesy nie sú v stave čakania a bežia súbežne. Toto sa líši od zablokovania, pretože v zablokovaní sú všetky procesy v stave čakania.

47. Čo je to Case WHEN v SQL?

Riadiace príkazy tvoria dôležitú súčasť väčšiny jazykov, pretože riadia vykonávanie iných súborov príkazov. Tie sa nachádzajú aj v SQL a mali by sa využívať na účely, ako je filtrovanie dotazov a optimalizácia dotazov prostredníctvom starostlivého výberu n-tic, ktoré zodpovedajú našim požiadavkám. V tomto príspevku skúmame príkaz Case-Switch v SQL. Príkaz CASE je spôsob, akým SQL spracováva logiku if/then.

Syntax 1:

CASE case_value WHEN when_value THEN statement_list [WHEN when_value THEN statement_list] … [ELSE statement_list]END CASE

Syntax 2:

CASE WHEN search_condition THEN statement_list [WHEN search_condition THEN statement_list] … [ELSE statement_list]END CASE

Pre viac podrobností si, prosím, prečítajte SQL | Vyhlásenie o prípade článok.

Pokročilé otázky a odpovede na pohovor SQL

48. Pomenujte rôzne typy funkcií manipulácie s prípadmi, ktoré sú dostupné v SQL.

V SQL sú k dispozícii tri typy funkcií manipulácie s prípadmi. Oni sú,

  • NIŽŠIE : Účelom tejto funkcie je vrátiť reťazec malými písmenami. Vezme reťazec ako argument a vráti reťazec tak, že ho skonvertuje na malé písmená.
    Syntax:

LOWER ('reťazec')

  • HORNÝ : Účelom tejto funkcie je vrátiť reťazec veľkými písmenami. Vezme reťazec ako argument a vráti reťazec tak, že ho skonvertuje na veľké písmená.
    Syntax:

UPPER(‘reťazec’)

  • INITCAP : Účelom tejto funkcie je vrátiť reťazec s prvým písmenom veľkým a zvyšnými písmenami malými.
    Syntax:

INITCAP('reťazec')

49. Aké sú lokálne a globálne premenné a ich rozdiely?

Globálna premenná: Naproti tomu globálne premenné sú premenné, ktoré sú definované mimo funkcií. Tieto premenné majú globálny rozsah, takže ich môže použiť akákoľvek funkcia bez toho, aby ich funkcii odovzdala ako parametre.

Miestna premenná: Lokálne premenné sú premenné, ktoré sú definované v rámci funkcií. Majú lokálny rozsah, čo znamená, že ich možno použiť iba v rámci funkcií, ktoré ich definujú.

50. Pomenujte funkciu, ktorá sa používa na odstránenie medzier na konci reťazca?

V SQL sú medzery na konci reťazca odstránené funkciou orezania.

Syntax:

Trim(y) , Kde s je ľubovoľný reťazec.

51. Aký je rozdiel medzi príkazmi TRUNCATE a DROP?

SQL DROP TRUNCATE (skrátiť).
Príkaz DROP sa používa na odstránenie definície tabuľky a jej obsahu. Zatiaľ čo príkaz TRUNCATE sa používa na odstránenie všetkých riadkov z tabuľky.
V príkaze DROP sa tabuľkový priestor uvoľní z pamäte. Zatiaľ čo príkaz TRUNCATE neuvoľní tabuľkový priestor z pamäte.
DROP je príkaz DDL (Data Definition Language). Zatiaľ čo TRUNCATE je tiež príkaz DDL (Data Definition Language).
V príkaze DROP neexistuje pohľad na tabuľku. Počas tohto príkazu existuje pohľad na tabuľku.
V príkaze DROP sa odstránia obmedzenia integrity. Počas tohto príkazu sa obmedzenia integrity neodstránia.
V príkaze DROP sa nepoužíva priestor na vrátenie. V tomto príkaze sa používa medzera späť, ale menej ako DELETE.
Príkaz DROP sa vykonáva rýchlo, ale spôsobuje komplikácie. Zatiaľ čo tento príkaz je rýchlejší ako DROP.

Viac podrobností nájdete v časti Rozdiel medzi VLOŽIŤ a SKRAŤ a SQL článok.

52. Ktorý operátor sa používa v dopytoch na porovnávanie vzorov?

Operátor LIKE: Používa sa na získanie filtrovaných údajov vyhľadávaním konkrétneho vzoru v klauzule where.

Syntax:

SELECT stĺpec1,stĺpec2 FROM názov_tabuľky WHERE názov_stĺpca vzor LIKE;

LIKE: meno operátora

53. Definovať príkaz SQL príkazom?

Príkaz ORDER BY v SQL sa používa na triedenie načítaných údajov vzostupne alebo zostupne podľa jedného alebo viacerých stĺpcov.

  • V predvolenom nastavení ORDER BY triedi údaje v vzostupné poradie.
  • Kľúčové slovo DESC môžeme použiť na zoradenie údajov v zostupnom poradí a kľúčové slovo ASC na zoradenie vo vzostupnom poradí.

Pre viac podrobností si prosím prečítajte SQL | ZORADIŤ PODĽA článok.

54. Vysvetlite SQL Máte príkaz?

HAVING sa používa na zadanie podmienky pre skupinu alebo agregovanú funkciu použitú v príkaze select. Klauzula WHERE vyberá pred zoskupením. Klauzula HAVING vyberá riadky po zoskupení. Na rozdiel od klauzuly HAVING klauzula WHERE nemôže obsahovať agregačné funkcie. Pozri Klauzula Mať vs kde?

55. Vysvetlite príkaz SQL AND OR na príklade?

V SQL sa operátory AND & OR používajú na filtrovanie údajov a získanie presných výsledkov na základe podmienok. Operátory AND a OR sa používajú s klauzulou WHERE.

Títo dvaja operátori sa volajú konjunktívne operátory .

  1. A operátor: Tento operátor zobrazí len tie záznamy, kde sú splnené obe podmienky podmienka 1 a podmienka 2 sa vyhodnotia ako pravda.
  2. ALEBO Operátor: Tento operátor zobrazí záznamy, v ktorých sa jedna z podmienok 1 a 2 vyhodnotí ako Pravda. teda buď podmienka1 je pravdivá alebo podmienka2 je pravdivá.

Pre viac podrobností si prosím prečítajte SQL | A a ALEBO článok operátorov.

56. Definujte príkazy BETWEEN v SQL?

Podmienka SQL BETWEEN vám umožňuje jednoducho otestovať, či je výraz v rozsahu hodnôt (vrátane). Hodnoty môžu byť text, dátum alebo čísla. Dá sa použiť v príkazoch SELECT, INSERT, UPDATE alebo DELETE. Podmienka SQL BETWEEN vráti záznamy, kde je výraz v rozsahu hodnota1 a hodnota2.

Pre viac podrobností si prosím prečítajte SQL | Operátor medzi & I článok.

57. Prečo používame príkazy Commit a Rollback?

ZAMESTNAŤ SA ROLLBACK
COMMIT natrvalo uloží zmeny vykonané aktuálnou transakciou. ROLLBACK vrátiť späť zmeny vykonané aktuálnou transakciou.
Transakcia nemôže vrátiť zmeny po vykonaní príkazu COMMIT. Transakcia dosiahne svoj predchádzajúci stav po ROLLBACK.
Keď je transakcia úspešná, použije sa COMMIT. Keď je transakcia prerušená, dôjde k ROLLBACK.

Pre viac podrobností si prosím prečítajte Rozdiel medzi Commit a Rollback v SQL článok.

58. Aké sú vlastnosti ACID?

A transakcie je jediná logická jednotka práce, ktorá pristupuje a prípadne upravuje obsah databázy. Transakcie pristupujú k údajom pomocou operácií čítania a zápisu. Aby sa zachovala konzistencia v databáze, pred a po transakcii sa dodržiavajú určité vlastnosti. Tieto sú tzv KYSELINA vlastnosti. KYSELINA (Atomicity, Consistency, Isolation, Durability) je súbor vlastností, ktoré zaručujú spoľahlivé spracovanie databázových transakcií. Pre viac podrobností si prosím prečítajte ACID vlastnosti v a DBMS článok.

59. Sú hodnoty NULL rovnaké ako nula alebo prázdne miesto?

V SQL môže byť nula alebo medzera porovnaná s inou nulou alebo medzerou. pričom jedna nula sa nemusí rovnať inej nule. null znamená, že údaje nemusia byť poskytnuté alebo neexistujú žiadne údaje.

60. Aká je potreba skupinových funkcií v SQL?

Pri správe databáz sú skupinové funkcie, známe aj ako agregované funkcie, funkcia, v ktorej sú hodnoty viacerých riadkov zoskupené ako vstup pre určité kritériá, aby vytvorili jednu hodnotu s významnejším významom.

Rôzne skupinové funkcie

programová slučka java
1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>

Pre viac podrobností si prosím prečítajte Súhrnné funkcie v SQL článok.

61. Čo je potrebné pre vyhlásenie MERGE?

The ZLÚČIŤ príkaz v SQL je vlastne kombináciou troch príkazov SQL: INSERT, UPDATE a DELETE . Jednoducho povedané, príkaz MERGE v SQL poskytuje pohodlný spôsob vykonávania všetkých týchto troch operácií spolu, čo môže byť veľmi užitočné pri manipulácii s veľkými spustenými databázami. Na rozdiel od príkazov INSERT, UPDATE a DELETE však príkaz MERGE vyžaduje zdrojovú tabuľku na vykonanie týchto operácií na požadovanej tabuľke, ktorá sa nazýva cieľová tabuľka. Pre viac podrobností si prosím prečítajte SQL | Vyhlásenie MERGE článok.

62. Ako môžete získať spoločné záznamy z dvoch tabuliek?

Nižšie uvedené vyhlásenie by sa dalo použiť na získanie údajov z viacerých tabuliek, takže na získanie údajov z viacerých tabuliek musíme použiť spojenie.

Syntax:

SELECT tablenmae1.columnnmae, tablename2.columnnmae

Z tablenmae1

JOIN tablename2

ON tablenmae1.columnnmae = tablename2.columnnmae

ORDER BY columnname;

Ak chcete získať ďalšie podrobnosti a príklady, prečítajte si SQL | VYBERTE údaje z viacerých tabuliek článok.

63. Aké sú výhody funkcií PL/SQL?

Výhody funkcií PL / SQL sú nasledovné:

  • Môžeme vykonať jedno volanie do databázy na spustenie bloku príkazov. Zlepšuje teda výkon proti viacnásobnému spusteniu SQL. Tým sa zníži počet hovorov medzi databázou a aplikáciou.
  • Celkovú prácu môžeme rozdeliť do malých modulov, ktoré sa stanú celkom zvládnuteľné, čím sa zlepší aj čitateľnosť kódu.
  • Podporuje opätovnú použiteľnosť.
  • Je to bezpečné, pretože kód zostáva vo vnútri databázy, čím skrýva detaily internej databázy pred aplikáciou (používateľom). Používateľ iba zavolá funkcie PL/SQL. Tým je zaistená bezpečnosť a skrytie údajov.

64. Aký je SQL dotaz na zobrazenie aktuálneho dátumu?

CURRENT_DATE sa vráti na aktuálny dátum. Táto funkcia vráti rovnakú hodnotu, ak sa v jednom príkaze vykoná viackrát, čo znamená, že hodnota je pevná, aj keď medzi načítaním riadkov v kurzore je veľké oneskorenie.

Syntax:

AKTUÁLNY DÁTUM

alebo

AKTUÁLNY DÁTUM

65. Čo sú vnorené spúšťače?

Spúšťač môže v sebe obsahovať aj logiku INSERT, UPDATE a DELETE, takže keď sa spúšťač spustí z dôvodu úpravy údajov, môže spôsobiť aj inú úpravu údajov, čím sa spustí ďalší spúšťač. Spúšťač, ktorý v sebe obsahuje logiku úpravy údajov, sa nazýva vnorený spúšťač.

66. Ako nájsť dostupné informácie o obmedzeniach v tabuľke?

Na serveri SQL Server dátový slovník je množina databázových tabuliek používaných na ukladanie informácií o definícii databázy. Tieto dátové slovníky je možné použiť na kontrolu obmedzení na už existujúcej tabuľke a na ich zmenu (ak je to možné). Pre viac podrobností si prečítajte SQL | Kontrola existujúceho obmedzenia na tabuľke článok.

67. Ako sa vyhneme duplicitným záznamom v dotaze bez použitia odlišného kľúčového slova?

DISTINCT je za určitých okolností užitočný, má však nevýhody, že môže zvýšiť zaťaženie vyhľadávacieho nástroja pri vykonávaní triedenia (pretože potrebuje porovnať sadu výsledkov so sebou samým, aby odstránil duplikáty). Duplicitné záznamy môžeme odstrániť pomocou nasledujúcich možností:

  • Odstráňte duplikáty pomocou čísel riadkov.
  • Odstráňte duplikáty pomocou vlastného pripojenia.
  • Odstráňte duplikáty pomocou skupiny podľa.

Ak chcete získať ďalšie podrobnosti, prečítajte si SQL | Odstráňte duplikáty bez rozdielu články.

68. Rozdiel medzi funkciami NVL a NVL2?

Tieto funkcie pracujú s akýmkoľvek typom údajov a týkajú sa použitia hodnôt null v zozname výrazov. Všetky sú jednoradové funkcie, t. j. poskytnúť jeden výsledok na riadok.

NVL(výraz1, výraz2): V SQL NVL() konvertuje nulovú hodnotu na skutočnú hodnotu. Dátové typy, ktoré možno použiť, sú dátum, znak a číslo. Typy údajov sa musia navzájom zhodovať. t.j. výraz1 a výraz2 musia byť rovnakého typu údajov.

Syntax:

NVL (výraz1, výraz2)

NVL2(výraz1, výraz2, výraz3): Funkcia NVL2 skúma prvý výraz. Ak prvý výraz nemá hodnotu null, funkcia NVL2 vráti druhý výraz. Ak je prvý výraz null, potom sa vráti tretí výraz, t. j. ak výraz expr1 nie je null, NVL2 vráti výraz 2. Ak je výraz expr1 null, NVL2 vráti výraz expr3. Argument expr1 môže mať ľubovoľný dátový typ.

Syntax:

NVL2 (výraz1, výraz2, výraz3)

Pre viac podrobností si prosím prečítajte Všeobecné funkcie SQL | NVL, NVL2, DECODE, COALESCE, NULLIF, LNNVL , a NANVL článok.

69. Aký je rozdiel medzi COALESCE() & ISNULL()?

COALESCE(): Funkcia COALESCE v SQL vracia prvý výraz, ktorý nie je NULL, spomedzi svojich argumentov. Ak sa všetky výrazy vyhodnotia ako null, funkcia COALESCE vráti hodnotu null.
Syntax:

SELECT stĺpec(y), CAOLESCE(výraz_1,….,výraz_n)FROM názov_tabuľky;

ISNULL(): Funkcia ISNULL má rôzne využitie v SQL Server a MySQL. V SQL Server sa funkcia ISNULL() používa na nahradenie hodnôt NULL.
Syntax:

SELECT stĺpec(y), ISNULL(názov_stĺpca, hodnota_na_nahradenie)FROM názov_tabuľky;

Pre viac podrobností si, prosím, prečítajte SQL | Nulové funkcie článok.

70. Pomenujte operátor, ktorý sa používa v dotaze na pripojenie dvoch reťazcov?

V SQL na pripojenie dvoch reťazcov sa používa operátor koncentrácie a jeho symbol je || .

Záver

Na záver možno povedať, že zvládnutie otázok týkajúcich sa pohovoru SQL je kľúčové pre dátových analytikov, dátových inžinierov a obchodných analytikov, ktorí chcú vyniknúť vo svojich príslušných oblastiach. Tento článok poskytuje komplexný súbor otázok a odpovedí na pohovor SQL navrhnutých tak, aby vás dôkladne pripravili.

Pochopením a precvičením týchto otázok zlepšíte svoju schopnosť efektívne riešiť výzvy kladené na pohovory súvisiace s SQL, čo v konečnom dôsledku pripraví pôdu pre úspešnú kariéru v oblasti spracovania a analýzy údajov. Pamätajte si, že každá otázka je príležitosťou preukázať svoju analytickú zdatnosť a technickú odbornosť, čo sú základné črty každého začínajúceho profesionála v týchto kritických úlohách.