logo

Otázky k pohovoru SQL

SQL je standardní databázový jazyk používaný pro přístup a manipulaci s daty v databázích. Znamená strukturovaný dotazovací jazyk a byl vyvinut IBM Computer Scientists v 70. letech 20. století. Prováděním dotazů může SQL vytvářet, aktualizovat, mazat a načítat data v databázích jako MySQL, Oracle, PostgreSQL atd. Celkově je SQL dotazovacím jazykem, který komunikuje s databázemi.

V tomto článku se zabýváme 70+ SQL Interview Otázky s odpověďmi zeptal se v rozhovorech pro vývojáře SQL v MAANG a dalších vysoce platících společnostech. Ať už jste čerstvější nebo zkušený profesionál s 2, 5 nebo 10 lety zkušeností, tento článek vám dá veškerou jistotu, kterou potřebujete, abyste zvládli svůj příští pohovor SQL.



Obsah

Otázky a odpovědi SQL pohovoru pro Freshers

1. Co je SQL?

SQL je zkratka pro Structured Query Language. Je to jazyk používaný k interakci s databází, tj. k vytvoření databáze, k vytvoření tabulky v databázi, k načtení dat nebo aktualizaci tabulky v databázi atd. SQL je standard ANSI (American National Standards Institute). Pomocí SQL můžeme dělat mnoho věcí. Například – můžeme spouštět dotazy, můžeme vkládat záznamy do tabulky, můžeme aktualizovat záznamy, umíme vytvořit databázi, můžeme vytvořit tabulku, můžeme tabulku smazat atd.



2. Co je to databáze?

A Databáze je definována jako strukturovaná forma ukládání dat v počítači nebo sběr dat organizovaným způsobem a lze k nim přistupovat různými způsoby. Je to také kolekce schémat, tabulek, dotazů, pohledů atd. Databáze nám pomáhají se snadným ukládáním, přístupem a manipulací s daty uloženými v počítači. Systém správy databáze umožňuje uživateli interakci s databází.

3. Podporuje SQL funkce programovacího jazyka?

Je pravda, že SQL je jazyk, ale nepodporuje programování, protože to není programovací jazyk, je to příkazový jazyk. V SQL nemáme podmíněné příkazy jako for loops nebo if..else, máme pouze příkazy, které můžeme použít k dotazování, aktualizaci, mazání atd. dat v databázi. SQL nám umožňuje manipulovat s daty v databázi.

4. Jaký je rozdíl mezi datovým typem CHAR a VARCHAR2 v SQL?

Oba tyto datové typy se používají pro znaky, ale varchar2 se používá pro znakové řetězce proměnné délky, zatímco char se používá pro znakové řetězce pevné délky. Například , zadáme-li typ jako char(5), pak nebudeme moci do této proměnné uložit řetězec jakékoli jiné délky, ale pokud zadáme typ této proměnné jako varchar2(5), bude nám umožněno uložit struny proměnné délky. Do této proměnné můžeme uložit řetězec délky 3 nebo 4 nebo 2.



string.replaceall v jazyce Java

5. Co rozumíte pod pojmem jazyk pro definici dat?

Jazyk pro definici dat nebo DDL umožňuje provádění dotazů jako CREATE, DROP a ALTER. To jsou ty dotazy, které definují data.

6. Co rozumíte pod pojmem jazyk pro manipulaci s daty?

Manipulace s daty Jazyk nebo DML se používá k přístupu nebo manipulaci s daty v databázi. Umožňuje nám provádět níže uvedené funkce:

  • Vložte data nebo řádky do databáze
  • Odstraňte data z databáze
  • Načíst nebo načíst data
  • Aktualizujte data v databázi.

7. Jaký je pohled v SQL?

Zobrazení v SQL jsou jakýmsi virtuálním stolem. Pohled má také řádky a sloupce tak, jak jsou na skutečné tabulce v databázi. Pohled můžeme vytvořit výběrem polí z jedné nebo více tabulek přítomných v databázi. Zobrazení může mít buď všechny řádky tabulky, nebo konkrétní řádky na základě určitých podmínek.

Příkaz CREATE VIEW jazyka SQL se používá k vytváření pohledů.

Základní syntaxe:

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. Co rozumíte pod pojmem cizí klíč?

A Cizí klíč je pole, které dokáže jednoznačně identifikovat každý řádek v jiné tabulce. A toto omezení se používá k určení pole jako cizího klíče. To znamená, že toto pole ukazuje na primární klíč jiné tabulky. Obvykle se tak mezi oběma tabulkami vytvoří jakési propojení.

Zvažte dvě tabulky, jak je uvedeno níže:

Objednávky

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

Zákazníci

C_ID NÁZEV ADRESA
1 RAMESH DILLÍ
2 SURESH NOIDA
3 DARMÉŠI GURGAON

Jak jasně vidíme, pole C_ID v tabulce Objednávky je primárním klíčem v tabulce Zákazníci, tedy jednoznačně identifikuje každý řádek v tabulce Zákazníci. Jedná se tedy o Cizí klíč v tabulce 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. Co je tabulka a pole?

Stůl: Tabulka obsahuje kombinaci řádků a sloupců. Řádky se nazývají záznamy a sloupce se nazývají pole. V MS SQL Serveru jsou tabulky označovány v rámci databáze a názvů schémat.

Pole: V DBMS lze pole databáze definovat jako – jednu informaci ze záznamu.

10. Co je primární klíč?

A Primární klíč je jedním z kandidátských klíčů. Jeden z kandidátských klíčů je vybrán jako nejdůležitější a stává se primárním klíčem. V tabulce nemůže být více než jeden primární klíč.

11. Co je výchozí omezení?

The VÝCHOZÍ omezení se používá k vyplnění sloupce výchozími a pevnými hodnotami. Pokud nezadáte žádnou jinou hodnotu, bude tato hodnota přidána ke všem novým záznamům.

12. Co je normalizace?

Jde o proces analýzy daných relačních schémat na základě jejich funkčních závislostí a primárních klíčů k dosažení následujících žádoucích vlastností:

  1. Minimalizace redundance
  2. Minimalizace anomálií vkládání, mazání a aktualizace

Relační schémata, která nesplňují vlastnosti, jsou rozložena na menší relační schémata, která by mohla splňovat požadované vlastnosti.

13. Co je denormalizace?

Denormalizace je technika optimalizace databáze, při které přidáváme redundantní data do jedné nebo více tabulek. To nám může pomoci vyhnout se nákladným spojením v relační databázi. Všimněte si, že denormalizace neznamená neprovádět normalizaci. Je to optimalizační technika, která se aplikuje po normalizaci.

V tradiční normalizované databázi ukládáme data do samostatných logických tabulek a snažíme se minimalizovat nadbytečná data. Můžeme se snažit mít pouze jednu kopii každého kusu dat v databázi.

14. Co je to dotaz?

An SQL dotaz slouží k získání požadovaných dat z databáze. Může však existovat více dotazů SQL, které poskytují stejné výsledky, ale s různou úrovní účinnosti. Neefektivní dotaz může vyčerpat databázové zdroje, snížit rychlost databáze nebo vést ke ztrátě služeb pro ostatní uživatele. Je tedy velmi důležité optimalizovat dotaz pro dosažení nejlepšího výkonu databáze.

15. Co je poddotaz?

V SQL, a Poddotaz lze jednoduše definovat jako dotaz v rámci jiného dotazu. Jinými slovy, můžeme říci, že poddotaz je dotaz, který je vložen do klauzule WHERE jiného SQL dotazu.

16. Jaké jsou různé operátory dostupné v SQL?

V SQL jsou k dispozici tři operátory, a to:

  1. Aritmetické operátory
  2. Logické operátory
  3. Porovnávací operátory

17. Co je to omezení?

Omezení jsou pravidla, která můžeme použít na typ dat v tabulce. To znamená, že můžeme určit omezení typu dat, která mohou být uložena v konkrétním sloupci v tabulce pomocí omezení. Další podrobnosti viz SQL|Omezení článek.

18. Co je integrita dat?

Integrita dat je definována jako data obsažená v databázi, která jsou správná a konzistentní. Za tímto účelem musí data uložená v databázi splňovat určité typy procedur (pravidel). Data v databázi musí být správná a konzistentní. Data uložená v databázi tedy musí splňovat určité typy procedur (pravidel). DBMS poskytuje různé způsoby implementace takových typů omezení (pravidel). To zlepšuje integritu dat v databázi. Další podrobnosti viz rozdíl mezi bezpečností dat a integritou dat článek.

19. Co je automatický přírůstek?

Někdy při vytváření tabulky nemáme v tabulce jedinečný identifikátor, a proto čelíme potížím při výběru primárního klíče. Abychom takový problém vyřešili, musíme ručně poskytnout jedinečné klíče ke každému záznamu, ale často je to také únavný úkol. Můžeme tedy použít funkci Auto-Increment, která automaticky generuje číselnou hodnotu primárního klíče pro každý nový vložený záznam. Funkce Auto Increment je podporována všemi databázemi. Další podrobnosti viz Automatické zvýšení SQL článek.

20. Co je řazení MySQL?

Porovnání MySQL je dobře definovaná sada pravidel, která se používají k porovnání znaků konkrétní znakové sady pomocí jejich odpovídajícího kódování. Každá znaková sada v MySQL může mít více než jedno řazení a má alespoň jedno výchozí řazení. Dvě znakové sady nemohou mít stejné řazení. Další podrobnosti viz Co je řazení a znaková sada v MySQL? článek.

21. Co jsou to uživatelem definované funkce?

Můžeme použít uživatelem definované funkce v PL/SQL nebo Java k poskytnutí funkcí, které nejsou dostupné v SQL nebo ve vestavěných funkcích SQL. Funkce SQL a funkce definované uživatelem se mohou objevit kdekoli, tj. kdekoli se vyskytuje výraz.

Může být například použit v:

  • Vyberte seznam příkazů SELECT.
  • Podmínka klauzule WHERE.
  • PŘIPOJTE SE, OBJEDNEJTE, ZAČNĚTE S a SEKUPINĚTE PODLE
  • Klauzule VALUES příkazu INSERT.
  • Klauzule SET příkazu UPDATE.

22. Jaké jsou všechny typy funkcí definovaných uživatelem?

Uživatelsky definované funkce umožňují uživatelům definovat své vlastní funkce T-SQL, které mohou přijímat 0 nebo více parametrů a vracet jednu skalární datovou hodnotu nebo datový typ tabulky.
Různé druhy vytvořených funkcí definovaných uživatelem jsou:

1. Skalární uživatelsky definovaná funkce Skalární uživatelsky definovaná funkce vrací jeden ze skalárních datových typů. Datové typy text, obrázek a časové razítko nejsou podporovány. Jedná se o typ uživatelsky definovaných funkcí, na které je většina vývojářů zvyklá v jiných programovacích jazycích. Předáte 0 mnoha parametrům a získáte návratovou hodnotu.

2. Uživatelem definovaná funkce s vloženou tabulkou Uživatelem definovaná funkce Inline Table-Value vrací datový typ tabulky a je výjimečnou alternativou k pohledu, protože uživatelsky definovaná funkce může předávat parametry do příkazu T-SQL select a v podstatě nám poskytuje parametrizovaný, ne -aktualizovatelný pohled na podkladové tabulky.

3. Uživatelem definovaná funkce s tabulkovou hodnotou s více příkazy Uživatelem definovaná funkce Multi-Statement Table-Value vrací tabulku a je také výjimečnou alternativou k pohledu, protože funkce může podporovat více příkazů T-SQL pro vytvoření konečného výsledku, kde je pohled omezen na jeden příkaz SELECT. Schopnost předávat parametry do příkazu TSQL select nebo do jejich skupiny nám také dává možnost v podstatě vytvořit parametrizovaný, neaktualizovatelný pohled na data v podkladových tabulkách. V rámci příkazu create function musíte definovat strukturu tabulky, která se vrací. Po vytvoření tohoto typu uživatelsky definované funkce ji lze použít v klauzuli FROM příkazu T-SQL, na rozdíl od chování zjištěného při použití uložené procedury, která může také vracet sady záznamů.

23. Co je to uložená procedura?

Uložené procedury jsou vytvořeny k provádění jedné nebo více operací DML s databázemi. Není to nic jiného než skupina příkazů SQL, která přijímá nějaký vstup ve formě parametrů a provádí nějakou úlohu a může nebo nemusí vrátit hodnotu. Další podrobnosti naleznete v naší Uložené procedury v SQL článek.

24. Co jsou agregační a skalární funkce?

Pro provádění operací s daty má SQL mnoho vestavěných funkcí, které jsou rozděleny do dvou kategorií a dále podkategorizovány do sedmi různých funkcí v každé kategorii. Kategorie jsou:

  • Souhrnné funkce: Tyto funkce se používají k provádění operací z hodnot sloupce a vrací se jedna hodnota.
  • Skalární funkce: Tyto funkce jsou založeny na uživatelském vstupu a také vracejí jedinou hodnotu.

Pro více podrobností si prosím přečtěte SQL | Funkce (agregační a skalární funkce) článek.

25. Co je příkaz ALIAS?

Aliasy jsou dočasné názvy přidělené tabulce nebo sloupci pro účely konkrétního dotazu SQL. Používá se, když je název sloupce nebo tabulky použit jiný než původní název, ale upravený název je pouze dočasný.

řetězec ve srovnání s
  • Aliasy se vytvářejí, aby byly názvy tabulek nebo sloupců čitelnější.
  • Přejmenování je pouze dočasná změna a název tabulky se v původní databázi nemění.
  • Aliasy jsou užitečné, když jsou názvy tabulek nebo sloupců velké nebo špatně čitelné.
  • Tyto jsou upřednostňovány, pokud je v dotazu více než jedna tabulka.

Pro více podrobností si prosím přečtěte SQL | Přezdívky článek.

26. Co jsou příkazy Union, minus a Interact?

Operace sady v SQL eliminují duplicitní n-tice a lze je použít pouze na vztahy, které jsou kompatibilní s unií. Operace sady dostupné v SQL jsou:

  • Set Union
  • Nastavit křižovatku
  • Nastavit rozdíl

Provoz UNION: Tato operace zahrnuje všechny n-tice, které jsou přítomny v obou relacích. Například: Chcete-li najít všechny zákazníky, kteří mají půjčku nebo účet nebo obojí v bance.

 SELECT CustomerName FROM Depositor   UNION   SELECT CustomerName FROM Borrower ;>

Operace sjednocení automaticky eliminuje duplikáty. Pokud mají být zachovány všechny duplikáty, použije se místo UNION UNION ALL.

Operace INTERSECT: Tato operace zahrnuje n-tice, které jsou přítomné v obou relacích. Například: Chcete-li najít zákazníky, kteří mají půjčku i účet v bance:

 SELECT CustomerName FROM Depositor   INTERSECT  SELECT CustomerName FROM Borrower ;>

Operace Intersect automaticky eliminuje duplikáty. Pokud mají být zachovány všechny duplikáty, použije se místo INTERSECT INTERSECT ALL.

KROMĚ provozu: Tato operace zahrnuje n-tice, které jsou přítomny v jednom vztahu, ale neměly by být přítomny v jiném vztahu. Například: Chcete-li najít zákazníky, kteří mají účet, ale nemají v bance úvěr:

 SELECT CustomerName FROM Depositor   EXCEPT  SELECT CustomerName FROM Borrower ;>

Operace Except automaticky odstraní duplikáty. Pokud mají být zachovány všechny duplikáty, použije se EXCEPT ALL místo EXCEPT.

27. Co je T-SQL?

T-SQL je zkratka pro Transact Structure Query Language. Je to produkt společnosti Microsoft a je rozšířením jazyka SQL, který se používá k interakci s relačními databázemi. Má se za to, že funguje nejlépe se servery Microsoft SQL. K provádění transakcí do databází se používají příkazy T-SQL. T-SQL má obrovský význam, protože veškerá komunikace s instancí serveru SQL probíhá odesíláním příkazů Transact-SQL na server. Uživatelé mohou také definovat funkce pomocí T-SQL.

Typy funkcí T-SQL jsou:

  • Agregát funkcí.
  • Pořadí funkcí. Existují různé typy hodnotících funkcí.
  • Sada řádků funkce.
  • Skalární funkcí.

28. Co je ETL v SQL?

ETL je proces v Data Warehousing a to znamená Výpis , Přeměnit, a Zatížení . Je to proces, ve kterém nástroj ETL extrahuje data z různých systémů zdrojů dat, transformuje je v pracovní oblasti a nakonec je načte do systému Data Warehouse. Jedná se o tři databázové funkce, které jsou začleněny do jednoho nástroje pro vytahování dat z jedné databáze a vkládání dat do jiné databáze.

29. Jak kopírovat tabulky v SQL?

Někdy v SQL potřebujeme vytvořit přesnou kopii již definované (nebo vytvořené) tabulky. MySQL umožňuje provést tuto operaci. Protože takové duplicitní tabulky můžeme potřebovat pro testování dat, aniž by to mělo jakýkoli dopad na původní tabulku a data v ní uložená.

CREATE TABLE Contact List(Clone_1) LIKE Original_table;>

Pro více podrobností si prosím přečtěte Klonovací stůl v a MySQL článek.

30. Co je SQL injection?

SQL injection je technika používaná ke zneužívání uživatelských dat prostřednictvím vstupů na webové stránce vkládáním příkazů SQL jako příkazů. V zásadě lze tyto příkazy použít k manipulaci s webovým serverem aplikace uživateli se zlými úmysly.

  • SQL injection je technika vkládání kódu, která může zničit vaši databázi.
  • SQL injection je jednou z nejběžnějších technik hackování webu.
  • SQL injection je umístění škodlivého kódu do příkazů SQL prostřednictvím vstupu na webové stránce.

Pro více podrobností si prosím přečtěte SQL | Injekce článek.

31. Můžeme deaktivovat spoušť? Pokud ano, jak?

Ano, můžeme deaktivovat spouštěč v PL/SQL. Pokud zvážíte dočasné zakázání spouštěče a je splněna jedna z následujících podmínek:

  • Objekt, na který spouštěč odkazuje, není dostupný.
  • Musíme provést velké zatížení dat a chtít, aby to probíhalo rychle bez spouštění spouštěčů.
  • Načítáme data do tabulky, na kterou se trigger vztahuje.
  • Spouštěč deaktivujeme pomocí příkazu ALTER TRIGGER s volbou DISABLE.
  • Všechny spouštěče přidružené k tabulce můžeme současně zakázat pomocí příkazu ALTER TABLE s volbou DISABLE ALL TRIGGERS.

Intermediate SQL Interview Otázky a odpovědi

32. Jaké jsou rozdíly mezi SQL a PL/SQL?

Některé běžné rozdíly mezi SQL a PL/SQL jsou uvedeny níže:

SQL

PL/SQL

SQL je jazyk pro provádění dotazů nebo příkazový jazyk

PL/SQL je kompletní programovací jazyk

SQL je datově orientovaný jazyk.

PL/SQL je procedurální jazyk

SQL má velmi deklarativní charakter.

PL/SQL má procedurální povahu.

Používá se pro manipulaci s daty.

Používá se pro vytváření aplikací.

V SQL můžeme provádět jeden příkaz najednou

Můžeme provádět bloky příkazů v PL/SQL

SQL říká databázím, co dělat?

PL/SQL říká databázím, jak to udělat.

Můžeme vložit SQL do PL/SQL

Nemůžeme vložit PL/SQL do SQL

33. Jaký je rozdíl mezi operátory BETWEEN a IN v SQL?

MEZI: The MEZI operátor se používá k načítání řádků na základě rozsahu hodnot.
Například,

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

Tento dotaz vybere všechny tyto řádky z tabulky. Studenti, kde hodnota pole ROLL_NO leží mezi 20 a 30.
V: The V Operátor se používá ke kontrole hodnot obsažených ve specifických sadách.
Například,

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

Tento dotaz vybere všechny ty řádky z tabulky Studenti, kde hodnota pole ROLL_NO je buď 20 nebo 21 nebo 23.

34. Napište SQL dotaz pro nalezení jmen zaměstnanců začínajících na ‚A‘.

K tomuto účelu se používá operátor LIKE SQL. Používá se k načítání filtrovaných dat hledáním konkrétního vzoru v klauzuli where.
Syntaxe pro použití LIKE je,

SELECT sloupec1,sloupec2 FROM název_tabulky WHERE název_sloupce LIKE vzor;

JAKO: jméno operátora

vzor: přesnou hodnotu extrahovanou ze vzoru, abyste získali související data v sadě výsledků.

Požadovaný dotaz je:

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

Můžete odkazovat na tento článek klauzule WHERE pro více informací o operátorovi LIKE.

35. Jaký je rozdíl mezi primárním klíčem a jedinečnými omezeními?

Primární klíč nemůže mít hodnoty NULL, jedinečná omezení mohou mít hodnoty NULL. V tabulce je pouze jeden primární klíč, ale může existovat více jedinečných omezení. Primární klíč vytvoří seskupený index automaticky, ale jedinečný klíč nikoli.

36. Co je spojení v SQL? Jaké jsou typy spojení?

Příkaz SQL Join se používá ke spojení dat nebo řádků ze dvou nebo více tabulek na základě společného pole mezi nimi. Různé typy spojení jsou:

  • VNITŘNÍ SPOJENÍ : Klíčové slovo INNER JOIN vybere všechny řádky z obou tabulek, pokud je splněna podmínka. Toto klíčové slovo vytvoří sadu výsledků kombinací všech řádků z obou tabulek, kde podmínka vyhovuje, tj. hodnota společného pole bude stejná.
  • PŘIPOJIT SE VLEVO : Toto spojení vrátí všechny řádky tabulky na levé straně spojení a odpovídající řádky pro tabulku na pravé straně spojení. Pro řádky, pro které neexistuje žádný odpovídající řádek na pravé straně, bude sada výsledků null. LEFT JOIN je také známý jako LEFT OUTER JOIN
  • SPRÁVNÉ PŘIPOJENÍ SE : RIGHT JOIN je podobné jako LEFT JOIN. Toto spojení vrátí všechny řádky tabulky na pravé straně spojení a odpovídající řádky pro tabulku na levé straně spojení. Pro řádky, pro které není na levé straně žádný odpovídající řádek, bude sada výsledků obsahovat hodnotu null. RIGHT JOIN je také známý jako RIGHT OUTER JOIN.
  • PLNÉ PŘIPOJENÍ : FULL JOIN vytvoří sadu výsledků kombinací výsledků LEFT JOIN a RIGHT JOIN. Výsledná sada bude obsahovat všechny řádky z obou tabulek. Pro řádky, pro které neexistuje žádná shoda, bude sada výsledků obsahovat hodnoty NULL.

37. Co je to index?

Databázový index je datová struktura, která zvyšuje rychlost operací načítání dat v databázové tabulce za cenu dalších zápisů a použití většího úložného prostoru pro zachování extra kopie dat. Data lze ukládat pouze v jedné objednávce na disk. Pro podporu rychlejšího přístupu podle různých hodnot je žádoucí rychlejší vyhledávání, jako je binární vyhledávání různých hodnot. Za tímto účelem jsou indexy vytvořeny na tabulkách. Tyto indexy potřebují místo na disku navíc, ale umožňují rychlejší vyhledávání podle různých často vyhledávaných hodnot.

38. Co je kaskádové omezení On Delete?

Omezení „ON DELETE CASCADE“ se v MySQL používá k automatickému odstranění řádků z podřízené tabulky, když jsou odstraněny řádky z nadřazené tabulky. Pro více podrobností si prosím přečtěte MySQL – On Delete Cascade omezení článek.

39. Vysvětlete klauzuli WITH v SQL?

Klauzule WITH poskytuje vztah způsobu definování dočasného vztahu, jehož definice je dostupná pouze pro dotaz, ve kterém se vyskytuje klauzule with. SQL aplikuje predikáty v klauzuli WITH po vytvoření skupin, takže lze použít agregační funkce.

40. Jaké jsou všechny různé atributy indexů?

Indexování má různé atributy:

  • Typy přístupu : Týká se typu přístupu, jako je vyhledávání na základě hodnoty, přístup k rozsahu atd.
  • Doba přístupu : Vztahuje se k času potřebnému k nalezení určitého datového prvku nebo sady prvků.
  • Čas vložení : Vztahuje se na čas potřebný k nalezení vhodného prostoru a vložení nových dat.
  • Doba smazání : Nalezení položky a její odstranění a také aktualizace struktury indexu trvá dlouho.
  • Prostor nad hlavou : Vztahuje se k dodatečnému prostoru požadovanému indexem.

41. Co je to kurzor?

Kurzor je Dočasná paměť nebo Dočasná pracovní stanice. Je přiděleno databázovým serverem v době provádění operací DML na tabulce uživatelem. Kurzory se používají k ukládání databázových tabulek.

42. Zapište si různé typy vztahů v SQL?

Existují různé vztahy, jmenovitě:

  • Vztah jeden k jednomu.
  • Jeden k mnoha vztahům.
  • Vztah mnoho k jednomu.
  • Sebeodkazovací vztah.

43. Co je to spouštěč?

Spoušť je příkaz, který systém provede automaticky, když dojde k jakékoli úpravě databáze. Ve spouštěči nejprve určíme, kdy se má spouštěč provést, a poté akci, která se má při spuštění spouštěče provést. Spouštěče se používají k určení určitých omezení integrity a referenčních omezení, které nelze zadat pomocí mechanismu omezení SQL.

44. Jaký je rozdíl mezi příkazy SQL DELETE a SQL TRUNCATE?

SQL DELETE

ZKRÁTIT SQL

napište json do souboru python
Příkaz DELETE odebere řádky jeden po druhém a zaznamená záznam do protokolu transakcí pro každý odstraněný řádek. TRUNCATE TABLE odebere data uvolněním datových stránek používaných k uložení dat tabulky a zaznamená pouze uvolnění stránek do protokolu transakcí.
Příkaz DELETE je pomalejší než příkaz identityTRUNCATE. Zatímco příkaz TRUNCATE je rychlejší než příkaz DELETE.
Chcete-li použít Delete, potřebujete oprávnění DELETE v tabulce. Pro použití Truncate na stole potřebujeme alespoň ALTER oprávnění pro tabulku.
Identita sloupce si zachová identitu po použití příkazu DELETE v tabulce. Identita sloupce je resetována na počáteční hodnotu, pokud tabulka obsahuje sloupec identity.
Odstranění lze použít s indexovanými pohledy. Zkrácení nelze použít s indexovanými pohledy.

45. Jaký je rozdíl mezi klastrovým a neklastrovým indexem?

SHRNUTÝ INDEX NEKLUSTROVANÝ INDEX
Clusterový index je rychlejší. Neklastrovaný index je pomalejší.
Clusterový index vyžaduje méně paměti pro operace. Neklastrovaný index vyžaduje více paměti pro operace.
V seskupeném indexu je index hlavními daty. V indexu Non-Clustered je index kopií dat.
Tabulka může mít pouze jeden seskupený index. Tabulka může mít více indexů bez klastrů.
Clusterový index má vlastní schopnost ukládat data na disk. Neklastrovaný index nemá vlastní schopnost ukládat data na disk.
Seskupené indexy ukládají ukazatele na blokování nikoli data. Index bez klastrů ukládá hodnotu i ukazatel na skutečný řádek, který obsahuje data.
V Clustered index listové uzly jsou skutečná data samotná. V indexu Non-Clustered nejsou listové uzly samotnými skutečnými daty, ale obsahují pouze zahrnuté sloupce.
V indexu Clustered definuje klíč Clustered pořadí dat v tabulce. V indexu Non-Clustered definuje klíč indexu pořadí dat v indexu.
Clusterovaný index je typ indexu, ve kterém jsou záznamy tabulky fyzicky přeuspořádány tak, aby odpovídaly indexu. Neklastrovaný index je speciální typ indexu, ve kterém logické pořadí indexu neodpovídá fyzickému uloženému pořadí řádků na disku.

Další podrobnosti viz Rozdíl mezi Clustered index a No-Clustered index článek.

46. ​​Co je to Live Lock?

Livelock nastává, když dva nebo více procesů neustále opakují stejnou interakci v reakci na změny v ostatních procesech, aniž by vykonávaly jakoukoli užitečnou práci. Tyto procesy nejsou ve stavu čekání a běží souběžně. To se liší od uváznutí, protože při zablokování jsou všechny procesy ve stavu čekání.

47. Co je Case WHEN v SQL?

Řídicí příkazy tvoří důležitou součást většiny jazyků, protože řídí provádění jiných sad příkazů. Ty se nacházejí také v SQL a měly by být využívány pro použití, jako je filtrování dotazů a optimalizace dotazů prostřednictvím pečlivého výběru n-tic, které odpovídají našim požadavkům. V tomto příspěvku prozkoumáme příkaz Case-Switch v SQL. Příkaz CASE je způsob, jakým SQL zpracovává logiku if/then.

Syntaxe 1:

CASE case_value WHEN když_hodnota THEN seznam_příkazů [WHEN když_hodnota THEN seznam_příkazů] … [ELSE seznam_příkazů]END CASE

Syntaxe 2:

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

Pro více podrobností si prosím přečtěte SQL | Prohlášení o případu článek.

Pokročilé otázky a odpovědi v pohovoru SQL

48. Jmenujte různé typy funkcí pro manipulaci s případy, které jsou k dispozici v SQL.

V SQL jsou k dispozici tři typy funkcí pro manipulaci s případy. Oni jsou,

  • DOLNÍ : Účelem této funkce je vrátit řetězec malými písmeny. Vezme řetězec jako argument a vrátí řetězec převedením na malá písmena.
    Syntax:

LOWER ('řetězec')

  • HORNÍ : Účelem této funkce je vrátit řetězec velkými písmeny. Vezme řetězec jako argument a vrátí řetězec převedením na velká písmena.
    Syntax:

UPPER(‘řetězec’)

  • INITCAP : Účelem této funkce je vrátit řetězec s prvním písmenem velkým a zbývajícími písmeny malými.
    Syntax:

INITCAP('řetězec')

49. Jaké jsou lokální a globální proměnné a jejich rozdíly?

Globální proměnná: Naproti tomu globální proměnné jsou proměnné, které jsou definovány mimo funkce. Tyto proměnné mají globální rozsah, takže je může použít jakákoli funkce, aniž by je funkci předala jako parametry.

Místní proměnná: Lokální proměnné jsou proměnné, které jsou definovány v rámci funkcí. Mají místní rozsah, což znamená, že je lze použít pouze v rámci funkcí, které je definují.

50. Pojmenujte funkci, která se používá k odstranění mezer na konci řetězce?

V SQL jsou mezery na konci řetězce odstraněny funkcí trimování.

Syntax:

Oříznout(y) , Kde s je libovolný řetězec.

51. Jaký je rozdíl mezi příkazy TRUNCATE a DROP?

SQL DROP ZKRÁTIT
Příkaz DROP se používá k odstranění definice tabulky a jejího obsahu. Zatímco příkaz TRUNCATE se používá k odstranění všech řádků z tabulky.
V příkazu DROP se tabulkový prostor uvolní z paměti. Zatímco příkaz TRUNCATE neuvolní tabulkový prostor z paměti.
DROP je příkaz DDL (Data Definition Language). Zatímco TRUNCATE je také příkaz DDL (Data Definition Language).
V příkazu DROP pohled na tabulku neexistuje. V tomto příkazu existuje pohled na tabulku.
V příkazu DROP budou odstraněna omezení integrity. V tomto příkazu nebudou odstraněna omezení integrity.
V příkazu DROP se místo zpět nepoužívá. V tomto příkazu se používá místo zpět, ale méně než DELETE.
Příkaz DROP se provádí rychle, ale způsobuje komplikace. Zatímco tento příkaz je rychlejší než DROP.

Pro více podrobností si přečtěte Rozdíl mezi DROP and TRUNCATE in a SQL článek.

52. Který operátor se používá v dotazech pro vyhledávání vzorů?

Operátor LIKE: Používá se k načítání filtrovaných dat hledáním konkrétního vzoru v klauzuli where.

Syntax:

SELECT sloupec1,sloupec2 FROM název_tabulky WHERE název_sloupce LIKE vzor;

LIKE: jméno operátora

53. Definovat SQL Order pomocí příkazu?

Příkaz ORDER BY v SQL se používá k řazení načtených dat vzestupně nebo sestupně podle jednoho nebo více sloupců.

  • Ve výchozím nastavení ORDER BY seřadí data v vzestupně.
  • Klíčové slovo DESC můžeme použít pro řazení dat sestupně a klíčové slovo ASC pro řazení vzestupně.

Pro více podrobností si prosím přečtěte SQL | SEŘADIT PODLE článek.

54. Vysvětlete SQL Máte příkaz?

HAVING se používá k určení podmínky pro skupinu nebo agregační funkci použitou v příkazu select. Klauzule WHERE vybírá před seskupením. Klauzule HAVING vybírá řádky po seskupení. Na rozdíl od klauzule HAVING nemůže klauzule WHERE obsahovat agregační funkce. Vidět Mít vs kde klauzule?

55. Vysvětlete příkaz SQL AND OR na příkladu?

V SQL se operátory AND & OR používají k filtrování dat a získávání přesných výsledků na základě podmínek. Operátory AND a OR se používají s klauzulí WHERE.

Tyto dva operátoři jsou nazývány konjunktivní operátory .

  1. A operátor: Tento operátor zobrazí pouze ty záznamy, kde jsou splněny obě podmínky podmínka 1 a podmínka 2 se vyhodnotí jako True.
  2. NEBO Operátor: Tento operátor zobrazí záznamy, kde se jedna z podmínek podmínky 1 a podmínky 2 vyhodnotí jako True. to znamená, buď podmínka1 je pravdivá, nebo podmínka2 je pravdivá.

Pro více podrobností si prosím přečtěte SQL | AND a OR článek operátorů.

56. Definovat příkazy BETWEEN v SQL?

Podmínka SQL BETWEEN umožňuje snadno otestovat, zda je výraz v rozsahu hodnot (včetně). Hodnoty mohou být text, datum nebo čísla. Lze jej použít v příkazu SELECT, INSERT, UPDATE nebo DELETE. Podmínka SQL BETWEEN vrátí záznamy, kde je výraz v rozsahu hodnota1 a hodnota2.

Pro více podrobností si prosím přečtěte SQL | Operátor mezi & I článek.

57. Proč používáme příkazy Commit a Rollback?

SPÁCHAT NÁVRAT
COMMIT trvale uloží změny provedené aktuální transakcí. ROLLBACK vrátit zpět změny provedené aktuální transakcí.
Transakce nelze vrátit zpět změny po provedení COMMIT. Transakce dosáhne svého předchozího stavu po ROLLBACK.
Když je transakce úspěšná, použije se COMMIT. Když je transakce přerušena, dojde k ROLLBACK.

Pro více podrobností si prosím přečtěte Rozdíl mezi potvrzením a vrácením v SQL článek.

58. Jaké jsou vlastnosti ACID?

A transakce je jediná logická jednotka práce, která přistupuje a případně upravuje obsah databáze. Transakce přistupují k datům pomocí operací čtení a zápisu. Aby byla zachována konzistence v databázi, před a po transakci jsou dodržovány určité vlastnosti. Tyto jsou tzv KYSELINA vlastnosti. KYSELINA (Atomicity, Consistency, Isolation, Durability) je sada vlastností, které zaručují spolehlivé zpracování databázových transakcí. Pro více podrobností si prosím přečtěte ACID vlastnosti v a DBMS článek.

vytváření seznamu v Javě

59. Jsou hodnoty NULL stejné jako nula nebo prázdné místo?

V SQL lze nulu nebo mezeru porovnat s jinou nulou nebo mezerou. zatímco jedna nula se nemusí rovnat jiné nule. null znamená, že data nemusí být poskytnuta nebo neexistují žádná data.

60. Co je potřeba pro skupinové funkce v SQL?

Ve správě databází jsou skupinové funkce, také známé jako agregační funkce, funkcí, kde jsou hodnoty více řádků seskupeny jako vstup na základě určitých kritérií, aby vytvořily jednu hodnotu významnějšího významu.

Různé skupinové funkce

1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>

Pro více podrobností si prosím přečtěte Agregační funkce v SQL článek.

61. K čemu je potřeba příkaz MERGE?

The SPOJIT příkaz v SQL je ve skutečnosti kombinací tří příkazů SQL: INSERT, UPDATE a DELETE . Jednoduše řečeno, příkaz MERGE v SQL poskytuje pohodlný způsob, jak provádět všechny tyto tři operace společně, což může být velmi užitečné, pokud jde o manipulaci s velkými běžícími databázemi. Na rozdíl od příkazů INSERT, UPDATE a DELETE však příkaz MERGE vyžaduje zdrojovou tabulku k provádění těchto operací na požadované tabulce, která se nazývá cílová tabulka. Pro více podrobností si prosím přečtěte SQL | Prohlášení MERGE článek.

62. Jak můžete získat společné záznamy ze dvou tabulek?

Níže uvedený příkaz lze použít k získání dat z více tabulek, takže k získání dat z více tabulek musíme použít spojení.

Syntaxe:

SELECT tablenmae1.columnmname, tablename2.columnnmae

OD tablenmae1

JOIN název_tabulky2

ON tablenmae1.columnnmae = název_tabulky2.columnnmae

ORDER BY columnname;

Další podrobnosti a příklady si přečtěte SQL | SELECT data z více tabulek článek.

63. Jaké jsou výhody funkcí PL/SQL?

Výhody funkcí PL / SQL jsou následující:

  • Můžeme provést jediné volání do databáze a spustit blok příkazů. Zlepšuje tedy výkon proti několikanásobnému spuštění SQL. Tím se sníží počet volání mezi databází a aplikací.
  • Celkovou práci můžeme rozdělit do malých modulů, které se stávají docela dobře zvládnutelné, což také zvyšuje čitelnost kódu.
  • Podporuje opětovnou použitelnost.
  • Je to bezpečné, protože kód zůstává uvnitř databáze, čímž skrývá podrobnosti o interní databázi před aplikací (uživatelem). Uživatel pouze zavolá funkce PL/SQL. Je tak zajištěno zabezpečení a skrytí dat.

64. Jaký je SQL dotaz pro zobrazení aktuálního data?

CURRENT_DATE se vrátí k aktuálnímu datu. Tato funkce vrací stejnou hodnotu, pokud je v jednom příkazu provedena více než jednou, což znamená, že hodnota je pevná, i když mezi načítáním řádků v kurzoru je dlouhá prodleva.

Syntax:

DNEŠNÍ DATUM

nebo

DNEŠNÍ DATUM

65. Co jsou vnořené spouštěče?

Spouštěč může v sobě také obsahovat logiku INSERT, UPDATE a DELETE, takže když je spouštěč spuštěn kvůli úpravě dat, může také způsobit další úpravu dat, a tím spustit další spouštěč. Spouštěč, který v sobě obsahuje logiku úpravy dat, se nazývá vnořený spouštěč.

66. Jak najít dostupné informace o omezení v tabulce?

V SQL Serveru datový slovník je sada databázových tabulek používaných k ukládání informací o definici databáze. Tyto datové slovníky lze použít ke kontrole omezení na již existující tabulce a ke změně (pokud je to možné). Pro více podrobností si prosím přečtěte SQL | Kontrola existujícího omezení na stole článek.

sada vs mapa

67. Jak se vyvarujeme získání duplicitních položek v dotazu bez použití odlišného klíčového slova?

DISTINCT je za určitých okolností užitečný, má však nevýhody, že může zvýšit zatížení dotazovacího stroje při provádění řazení (protože potřebuje porovnat sadu výsledků se sebou, aby odstranil duplikáty). Duplicitní záznamy můžeme odstranit pomocí následujících možností:

  • Odstraňte duplikáty pomocí čísel řádků.
  • Odstraňte duplikáty pomocí vlastního připojení.
  • Odstraňte duplikáty pomocí seskupit podle.

Pro více podrobností si prosím přečtěte SQL | Odstraňte duplikáty bez rozdílu články.

68. Rozdíl mezi funkcemi NVL a NVL2?

Tyto funkce pracují s libovolným datovým typem a týkají se použití hodnot null v seznamu výrazů. Všechny jsou jednořadé funkce, tj. poskytnout jeden výsledek na řádek.

NVL(výraz1, výraz2): V SQL převádí NVL() hodnotu null na skutečnou hodnotu. Datové typy, které lze použít, jsou datum, znak a číslo. Datové typy se musí navzájem shodovat. tj. expr1 a expr2 musí být stejného datového typu.

Syntax:

NVL (výraz1, výraz2)

NVL2(výraz1, výraz2, výraz3): Funkce NVL2 zkoumá první výraz. Pokud první výraz není null, vrátí funkce NVL2 druhý výraz. Pokud je první výraz null, je vrácen třetí výraz, tj. pokud výraz expr1 není null, NVL2 vrátí výraz 2. Pokud je výraz expr1 null, NVL2 vrátí výraz expr3. Argument expr1 může mít libovolný datový typ.

Syntax:

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

Pro více podrobností si prosím přečtěte Obecné funkce SQL | NVL, NVL2, DECODE, COALESCE, NULLIF, LNNVL , a NANVL článek.

69. Jaký je rozdíl mezi COALESCE() & ISNULL()?

COALESCE(): Funkce COALESCE v SQL vrací mezi svými argumenty první výraz, který není NULL. Pokud se všechny výrazy vyhodnotí jako null, funkce COALESCE vrátí hodnotu null.
Syntax:

SELECT sloupec(y), CAOLESCE(výraz_1,….,výraz_n)FROM název_tabulky;

ISNULL(): Funkce ISNULL má různá použití v SQL Server a MySQL. V SQL Server se funkce ISNULL() používá k nahrazení hodnot NULL.
Syntax:

SELECT sloupec(y), ISNULL(název_sloupce, hodnota_k_nahrazení)FROM název_tabulky;

Pro více podrobností si prosím přečtěte SQL | Nulové funkce článek.

70. Pojmenujte operátor, který je použit v dotazu pro připojení dvou řetězců?

V SQL pro připojení dvou řetězců se používá operátor koncentrace a jeho symbol je || .

Závěr

Závěrem lze říci, že zvládnutí otázek SQL pohovorů je klíčové pro datové analytiky, datové inženýry a obchodní analytiky, kteří chtějí vyniknout ve svých příslušných oborech. Tento článek poskytuje komplexní sadu otázek a odpovědí na pohovor SQL navržených tak, aby vás důkladně připravily.

Pochopením a procvičením těchto otázek zlepšíte svou schopnost efektivně se vypořádat s výzvami kladenými v pohovorech souvisejících s SQL, což nakonec připraví cestu pro úspěšnou kariéru v oblasti zpracování dat a analýzy. Pamatujte, že každá otázka je příležitostí prokázat vaši analytickou zdatnost a technickou odbornost, což jsou základní vlastnosti pro každého začínajícího profesionála v těchto kritických rolích.