SQL is een standaarddatabasetaal die wordt gebruikt voor het benaderen en manipuleren van gegevens in databases. Het staat voor Structured Query Language en werd in de jaren zeventig ontwikkeld door IBM Computer Scientists. Door queries uit te voeren, kan SQL gegevens creëren, bijwerken, verwijderen en ophalen in databases zoals MySQL, Oracle, PostgreSQL, enz. Over het algemeen is SQL een querytaal die communiceert met databases.
In dit artikel behandelen we 70+ SQL-interviewvragen met antwoorden gevraagd in interviews met SQL-ontwikkelaars bij MAANG en andere goedbetaalde bedrijven. Of u nu een frissere of een ervaren professional bent met 2, 5 of 10 jaar ervaring, dit artikel geeft u alle vertrouwen dat u nodig heeft om uw volgende SQL-interview te halen.
Inhoudsopgave
- SQL-interviewvragen en -antwoorden voor eerstejaarsstudenten
- Intermediaire vragen en antwoorden over SQL-interviews
- Geavanceerde vragen en antwoorden over SQL-interviews
SQL-interviewvragen en -antwoorden voor eerstejaarsstudenten
1. Wat is SQL?
SQL staat voor Structured Query Language. Het is een taal die wordt gebruikt voor interactie met de database, dat wil zeggen om een database te maken, een tabel in de database te maken, gegevens op te halen of een tabel in de database bij te werken, enz. SQL is een ANSI-standaard (American National Standards Institute). Met SQL kunnen we veel dingen doen. We kunnen bijvoorbeeld zoekopdrachten uitvoeren, we kunnen records in een tabel invoegen, records bijwerken, een database maken, een tabel maken, een tabel verwijderen, enz.
2. Wat is een databank?
A Database wordt gedefinieerd als een gestructureerde vorm van gegevensopslag in een computer of een verzameling gegevens op een georganiseerde manier en die op verschillende manieren toegankelijk is. Het is ook de verzameling schema's, tabellen, query's, weergaven, enz. Databases helpen ons bij het eenvoudig opslaan, openen en manipuleren van gegevens die op een computer worden bewaard. Met het databasebeheersysteem kan een gebruiker communiceren met de database.
3. Ondersteunt SQL programmeertaalfuncties?
Het is waar dat SQL een taal is, maar het ondersteunt geen programmeren, omdat het geen programmeertaal is, maar een commandotaal. We hebben geen voorwaardelijke instructies in SQL, zoals for-lussen of if..else, we hebben alleen opdrachten die we kunnen gebruiken om gegevens in de database op te vragen, bij te werken, te verwijderen, enz. Met SQL kunnen we gegevens in een database manipuleren.
4. Wat is het verschil tussen CHAR- en VARCHAR2-datatype in SQL?
Beide gegevenstypen worden gebruikt voor tekens, maar varchar2 wordt gebruikt voor tekenreeksen met variabele lengte, terwijl char wordt gebruikt voor tekenreeksen met een vaste lengte. Bijvoorbeeld , als we het type specificeren als char(5) dan mogen we geen string van een andere lengte in deze variabele opslaan, maar als we het type van deze variabele specificeren als varchar2(5) dan mogen we het opslaan snaren van variabele lengte. In deze variabele kunnen we een string met lengte 3, 4 of 2 opslaan.
5. Wat bedoel je met datadefinitietaal?
Taal voor gegevensdefinitie of DDL maakt het uitvoeren van queries zoals CREATE, DROP en ALTER mogelijk. Dat zijn de query's die de gegevens definiëren.
hacken verwerking
6. Wat bedoel je met taal voor datamanipulatie?
Gegevensmanipulatie Taal of DML wordt gebruikt om gegevens in de database te openen of te manipuleren. Hiermee kunnen we de onderstaande functies uitvoeren:
- Gegevens of rijen in een database invoegen
- Verwijder gegevens uit de database
- Gegevens ophalen of ophalen
- Gegevens in een database bijwerken.
7. Wat is de weergave in SQL?
Weergaven in SQL zijn een soort virtuele tafel. Een weergave bevat ook rijen en kolommen zoals deze zich in een echte tabel in de database bevinden. We kunnen een weergave creëren door velden te selecteren uit een of meer tabellen die in de database aanwezig zijn. Een weergave kan alle rijen van een tabel bevatten of specifieke rijen op basis van bepaalde voorwaarden.
De CREATE VIEW-instructie van SQL wordt gebruikt voor het maken van views.
Basissyntaxis:
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. Wat bedoel je met externe sleutel?
A Vreemde sleutel is een veld dat elke rij in een andere tabel op unieke wijze kan identificeren. En deze beperking wordt gebruikt om een veld op te geven als een Foreign key. Dat wil zeggen dat dit veld verwijst naar de primaire sleutel van een andere tabel. Hierdoor ontstaat meestal een soort koppeling tussen de twee tabellen.
Beschouw de twee tabellen zoals hieronder weergegeven:
Bestellingen
| O_ID | BESTELNR | C_ID |
|---|---|---|
| 1 | 2253 | 3 |
| 2 | 3325 | 3 |
| 3 | 4521 | 2 |
| 4 | 8532 | 1 |
Klanten
| C_ID | NAAM | ADRES |
|---|---|---|
| 1 | RAMESJ | DELHI |
| 2 | ZEKER | NOIDA |
| 3 | DHARMESH | GURGAON |
Zoals we duidelijk kunnen zien, is het veld C_ID in de tabel Orders de primaire sleutel in de tabel Klanten, dat wil zeggen dat het elke rij in de tabel Klanten op unieke wijze identificeert. Daarom is het een externe sleutel in de tabel Orders.
Syntaxis:
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. Wat zijn tabel en veld?
Tafel: Een tabel heeft een combinatie van rijen en kolommen. Rijen worden records genoemd en kolommen velden. In MS SQL Server worden de tabellen toegewezen binnen de database- en schemanamen.
Veld: In DBMS kan een databaseveld worden gedefinieerd als: één stukje informatie uit een record.
10. Wat is de primaire sleutel?
A Hoofdsleutel is een van de kandidaat-sleutels. Eén van de kandidaatsleutels wordt als de belangrijkste geselecteerd en wordt de primaire sleutel. Er kan niet meer dan één primaire sleutel in een tabel voorkomen.
11. Wat is een standaardbeperking?
De STANDAARD beperking wordt gebruikt om een kolom te vullen met standaard- en vaste waarden. De waarde wordt aan alle nieuwe records toegevoegd als er geen andere waarde wordt opgegeven.
12. Wat is normalisatie?
Het is een proces waarbij de gegeven relatieschema's worden geanalyseerd op basis van hun functionele afhankelijkheden en primaire sleutels om de volgende wenselijke eigenschappen te bereiken:
- Minimalisering van redundantie
- Minimalisatie van afwijkingen bij het invoegen, verwijderen en bijwerken
Relatieschema's die niet aan de eigenschappen voldoen, worden opgesplitst in kleinere relatieschema's die wel aan de gewenste eigenschappen zouden kunnen voldoen.
13. Wat is denormalisatie?
Denormalisatie is een database-optimalisatietechniek waarbij we redundante gegevens aan een of meer tabellen toevoegen. Dit kan ons helpen kostbare joins in een relationele database te vermijden. Merk op dat denormalisatie niet betekent dat er geen normalisatie plaatsvindt. Het is een optimalisatietechniek die wordt toegepast na normalisatie.
In een traditioneel genormaliseerde database slaan we gegevens op in afzonderlijke logische tabellen en proberen we overtollige gegevens te minimaliseren. We kunnen ernaar streven om slechts één kopie van elk stukje gegevens in de database te hebben.
14. Wat is een zoekopdracht?
Een SQL query wordt gebruikt om de benodigde gegevens uit de database op te halen. Er kunnen echter meerdere SQL-query's zijn die dezelfde resultaten opleveren, maar met verschillende efficiëntieniveaus. Een inefficiënte query kan de databasebronnen leegmaken, de databasesnelheid verlagen of resulteren in serviceverlies voor andere gebruikers. Het is dus erg belangrijk om de query te optimaliseren om de beste databaseprestaties te verkrijgen.
15. Wat is een subquery?
In SQL wordt een Subquery kan eenvoudig worden gedefinieerd als een query binnen een andere query. Met andere woorden, we kunnen zeggen dat een subquery een query is die is ingebed in de WHERE-clausule van een andere SQL-query.
16. Wat zijn de verschillende operators die beschikbaar zijn in SQL?
Er zijn drie operators beschikbaar in SQL, namelijk:
- Rekenkundige operatoren
- Logische operatoren
- Vergelijkingsoperatoren
17. Wat is een beperking?
Beperkingen zijn de regels die we kunnen toepassen op het type gegevens in een tabel. Dat wil zeggen dat we met behulp van beperkingen de limiet kunnen specificeren voor het type gegevens dat in een bepaalde kolom in een tabel kan worden opgeslagen. Voor meer details verwijzen wij u naar SQL|Beperkingen artikel.
18. Wat is gegevensintegriteit?
Gegevensintegriteit wordt gedefinieerd als de gegevens in de database die zowel correct als consistent zijn. Hiervoor moeten de gegevens die in de database zijn opgeslagen, voldoen aan bepaalde soorten procedures (regels). De gegevens in een database moeten correct en consistent zijn. Gegevens die in de database zijn opgeslagen, moeten dus aan bepaalde soorten procedures (regels) voldoen. DBMS biedt verschillende manieren om dergelijke soorten beperkingen (regels) te implementeren. Dit verbetert de gegevensintegriteit in een database. Voor meer details verwijzen wij u naar verschil tussen gegevensbeveiliging en gegevensintegriteit artikel.
19. Wat is automatisch verhogen?
Soms hebben we bij het maken van een tabel geen unieke identificatie binnen de tabel, waardoor we problemen ondervinden bij het kiezen van de primaire sleutel. Om een dergelijk probleem op te lossen, moeten we handmatig unieke sleutels voor elke record opgeven, maar dit is vaak ook een vervelende taak. We kunnen dus de functie Auto-Increment gebruiken die automatisch een numerieke primaire sleutelwaarde genereert voor elke nieuwe record die wordt ingevoegd. De functie Automatisch verhogen wordt door alle databases ondersteund. Voor meer details verwijzen wij u naar SQL automatische verhoging artikel.
20. Wat is MySQL-sortering?
Een MySQL-collatie is een goed gedefinieerde set regels die worden gebruikt om tekens van een bepaalde tekenset te vergelijken met behulp van hun overeenkomstige codering. Elke tekenset in MySQL kan meer dan één sortering hebben, en heeft minstens één standaardsortering. Twee tekensets kunnen niet dezelfde sortering hebben. Voor meer details verwijzen wij u naar Wat zijn sortering en tekenset in MySQL? artikel.
21. Wat zijn door de gebruiker gedefinieerde functies?
We kunnen door de gebruiker gedefinieerde functies in PL/SQL of Java gebruiken om functionaliteit te bieden die niet beschikbaar is in SQL of ingebouwde SQL-functies. SQL-functies en door de gebruiker gedefinieerde functies kunnen overal verschijnen, dat wil zeggen overal waar een expressie voorkomt.
Het kan bijvoorbeeld worden gebruikt bij:
- Selecteer een lijst met SELECT-instructies.
- Voorwaarde van de WHERE-clausule.
- VERBIND MET, BESTEL OP, BEGIN MET en GROEPEER OP
- De VALUES-clausule van de INSERT-instructie.
- De SET-clausule van de UPDATE-instructie.
22. Wat zijn alle soorten door de gebruiker gedefinieerde functies?
Met door de gebruiker gedefinieerde functies kunnen mensen hun eigen T-SQL-functies definiëren die 0 of meer parameters kunnen accepteren en een enkele scalaire gegevenswaarde of een tabelgegevenstype kunnen retourneren.
Verschillende soorten door de gebruiker gedefinieerde functies zijn:
1. Scalaire, door de gebruiker gedefinieerde functie Een scalaire, door de gebruiker gedefinieerde functie retourneert een van de scalaire gegevenstypen. Gegevenstypen tekst, afbeeldingen en tijdstempels worden niet ondersteund. Dit zijn het soort door de gebruiker gedefinieerde functies waaraan de meeste ontwikkelaars in andere programmeertalen gewend zijn. U geeft 0 door aan veel parameters en u krijgt een retourwaarde.
2. Door de gebruiker gedefinieerde functie voor inline tabelwaarden Een door de gebruiker gedefinieerde Inline Table-Value-functie retourneert een tabelgegevenstype en is een uitzonderlijk alternatief voor een weergave, aangezien de door de gebruiker gedefinieerde functie parameters kan doorgeven aan een T-SQL-selectieopdracht en ons in wezen een geparametriseerde, niet-geparametreerde functie kan bieden. -bijwerkbare weergave van de onderliggende tabellen.
3. Door de gebruiker gedefinieerde functie met meerdere tabellen en waarden Een door de gebruiker gedefinieerde functie Multi-Statement Table-Value retourneert een tabel en is ook een uitzonderlijk alternatief voor een weergave, omdat de functie meerdere T-SQL-instructies kan ondersteunen om het eindresultaat op te bouwen waarbij de weergave beperkt is tot een enkele SELECT-instructie. Bovendien geeft de mogelijkheid om parameters door te geven aan een TSQL-selectieopdracht of een groep daarvan ons de mogelijkheid om in essentie een geparametriseerde, niet-bijwerkbare weergave van de gegevens in de onderliggende tabellen te creëren. Binnen het commando create function moet u de tabelstructuur definiëren die wordt geretourneerd. Nadat dit type door de gebruiker gedefinieerde functie is gemaakt, kan deze worden gebruikt in de FROM-clausule van een T-SQL-opdracht, in tegenstelling tot het gedrag dat wordt aangetroffen bij het gebruik van een opgeslagen procedure die ook recordsets kan retourneren.
23. Wat is een opgeslagen procedure?
Opgeslagen procedures zijn gemaakt om een of meer DML-bewerkingen op databases uit te voeren. Het is niets anders dan een groep SQL-instructies die enige invoer in de vorm van parameters accepteert en een bepaalde taak uitvoert en al dan niet een waarde retourneert. Voor meer details verwijzen wij u naar onze Opgeslagen procedures in de SQL artikel.
24. Wat zijn aggregatie- en scalaire functies?
Voor het uitvoeren van bewerkingen op gegevens heeft SQL veel ingebouwde functies. Deze zijn onderverdeeld in twee categorieën en verder onderverdeeld in zeven verschillende functies onder elke categorie. De categorieën zijn:
- Geaggregeerde functies: Deze functies worden gebruikt om bewerkingen uit te voeren op basis van de waarden van de kolom en er wordt één enkele waarde geretourneerd.
- Scalaire functies: Deze functies zijn gebaseerd op gebruikersinvoer, ook deze retourneren een enkele waarde.
Voor meer details kunt u de SQL | Functies (geaggregeerde en scalaire functies) artikel.
25. Wat is een ALIAS-commando?
Aliassen zijn de tijdelijke namen die aan een tabel of kolom worden gegeven met het oog op een bepaalde SQL-query. Het wordt gebruikt wanneer de naam van een kolom of tabel anders wordt gebruikt dan de oorspronkelijke naam, maar de gewijzigde naam is slechts tijdelijk.
- Er worden aliassen gemaakt om tabel- of kolomnamen beter leesbaar te maken.
- Het hernoemen is slechts een tijdelijke wijziging en de tabelnaam verandert niet in de oorspronkelijke database.
- Aliassen zijn handig als tabel- of kolomnamen groot zijn of niet erg leesbaar.
- Deze hebben de voorkeur als er meer dan één tabel bij een query betrokken is.
Voor meer details kunt u de SQL | Aliassen artikel.
logo-java
26. Wat zijn Union-, minus- en Interact-opdrachten?
Set Operations in SQL elimineert dubbele tupels en kan alleen worden toegepast op de relaties die unie-compatibel zijn. Set-bewerkingen die beschikbaar zijn in SQL zijn:
- Unie instellen
- Kruispunt instellen
- Verschil instellen
UNION-operatie: Deze bewerking omvat alle tupels die aanwezig zijn in een van de relaties. Bijvoorbeeld: Om alle klanten te vinden die een lening of een rekening of beide bij een bank hebben.
SELECT CustomerName FROM Depositor UNION SELECT CustomerName FROM Borrower ;>
De vakbondsoperatie elimineert automatisch duplicaten. Als alle duplicaten moeten worden behouden, wordt UNION ALL gebruikt in plaats van UNION.
INTERSECT-bewerking: Deze bewerking omvat de tupels die in beide relaties aanwezig zijn. Bijvoorbeeld: Om de klanten te vinden die zowel een lening als een rekening bij de bank hebben:
SELECT CustomerName FROM Depositor INTERSECT SELECT CustomerName FROM Borrower ;>
De Intersect-bewerking elimineert automatisch duplicaten. Als alle duplicaten behouden moeten blijven, wordt INTERSECT ALL gebruikt in plaats van INTERSECT.
BEHALVE voor bediening: Deze bewerking omvat tupels die aanwezig zijn in de ene relatie, maar niet aanwezig mogen zijn in een andere relatie. Bijvoorbeeld: Om klanten te vinden die wel een rekening hebben maar geen lening bij de bank:
SELECT CustomerName FROM Depositor EXCEPT SELECT CustomerName FROM Borrower ;>
De Except-bewerking elimineert automatisch de duplicaten. Als het de bedoeling is dat alle duplicaten behouden blijven, wordt EXCEPT ALL gebruikt in plaats van EXCEPT.
27. Wat is een T-SQL?
T-SQL is een afkorting voor Transact Structure Query Language. Het is een product van Microsoft en is een uitbreiding van SQL Language die wordt gebruikt voor interactie met relationele databases. Er wordt aangenomen dat het het beste presteert met Microsoft SQL-servers. T-SQL-instructies worden gebruikt om de transacties met de databases uit te voeren. T-SQL is van groot belang omdat alle communicatie met een exemplaar van een SQL-server plaatsvindt door Transact-SQL-instructies naar de server te sturen. Gebruikers kunnen ook functies definiëren met behulp van T-SQL.
Typen T-SQL-functies zijn:
- Totaal functies.
- Ranglijst functies. Er zijn verschillende soorten rangschikkingsfuncties.
- Rijenset functie.
- Scalair functies.
28. Wat is ETL in SQL?
ETL is een proces binnen Data Warehousing en staat voor Extract , Transformeren, En Laden . Het is een proces waarbij een ETL-tool de gegevens uit verschillende gegevensbronsystemen haalt, deze in de stagingruimte transformeert en deze vervolgens in het Data Warehouse-systeem laadt. Dit zijn drie databasefuncties die in één tool zijn geïntegreerd om gegevens uit de ene database te halen en gegevens in een andere database te plaatsen.
29. Hoe kopieer ik tabellen in SQL?
Soms moeten we in SQL een exacte kopie maken van een reeds gedefinieerde (of gemaakte) tabel. MySQL stelt u in staat deze handeling uit te voeren. Omdat we dergelijke dubbele tabellen mogelijk nodig hebben om de gegevens te testen zonder enige impact te hebben op de oorspronkelijke tabel en de gegevens die daarin zijn opgeslagen.
CREATE TABLE Contact List(Clone_1) LIKE Original_table;>
Voor meer details, lees Tabel klonen in de MySQL artikel.
30. Wat is SQL-injectie?
SQL-injectie is een techniek die wordt gebruikt om gebruikersgegevens te exploiteren via webpagina-invoer door SQL-opdrachten als instructies te injecteren. In principe kunnen deze verklaringen worden gebruikt om de webserver van de applicatie door kwaadwillende gebruikers te manipuleren.
- SQL-injectie is een code-injectietechniek die uw database kan vernietigen.
- SQL-injectie is een van de meest voorkomende technieken voor webhacking.
- SQL-injectie is het plaatsen van kwaadaardige code in SQL-instructies, via invoer op webpagina's.
Voor meer details kunt u de SQL | Injectie artikel.
31. Kunnen we een trigger uitschakelen? Zo ja, hoe?
Ja, we kunnen een trigger in PL/SQL uitschakelen. Als u overweegt een trigger tijdelijk uit te schakelen en een van de volgende omstandigheden van toepassing is:
- Een object waarnaar de trigger verwijst, is niet beschikbaar.
- We moeten een grote gegevensbelasting uitvoeren en willen dat deze snel verloopt zonder triggers.
- We laden gegevens in de tabel waarop de trigger van toepassing is.
- We schakelen een trigger uit met behulp van de ALTER TRIGGER-instructie met de optie DISABLE.
- We kunnen alle triggers die aan een tabel zijn gekoppeld tegelijkertijd uitschakelen met behulp van de ALTER TABLE-instructie met de optie DISABLE ALL TRIGGERS.
Intermediaire vragen en antwoorden over SQL-interviews
32. Wat zijn de verschillen tussen SQL en PL/SQL?
Enkele veelvoorkomende verschillen tussen SQL en PL/SQL zijn hieronder weergegeven:
| SQL | PL/SQL |
|---|---|
| SQL is een query-uitvoerings- of commandotaal | PL/SQL is een complete programmeertaal |
| SQL is een datageoriënteerde taal. | PL/SQL is een proceduretaal lang om te rijgen |
| SQL is zeer declaratief van aard. | PL/SQL heeft een procedureel karakter. |
| Het wordt gebruikt voor het manipuleren van gegevens. | Het wordt gebruikt voor het maken van applicaties. |
| We kunnen één instructie tegelijk uitvoeren in SQL | We kunnen blokken met instructies uitvoeren in PL/SQL |
| SQL vertelt databases: wat moeten ze doen? | PL/SQL vertelt databases hoe ze dit moeten doen. |
| We kunnen SQL insluiten in PL/SQL | We kunnen PL/SQL niet in SQL inbedden |
33. Wat is het verschil tussen BETWEEN- en IN-operatoren in SQL?
TUSSEN: De TUSSEN operator wordt gebruikt om rijen op te halen op basis van een reeks waarden.
Bijvoorbeeld,
SELECT * FROM Students WHERE ROLL_NO BETWEEN 20 AND 30;>
Deze query selecteert al die rijen uit de tabel. Studenten waarbij de waarde van het veld ROLL_NO tussen 20 en 30 ligt.
IN: De IN operator wordt gebruikt om te controleren op waarden in specifieke sets.
Bijvoorbeeld,
SELECT * FROM Students WHERE ROLL_NO IN (20,21,23);>
Deze query selecteert al die rijen uit de tabel Studenten waarbij de waarde van het veld ROLL_NO 20, 21 of 23 is.
34. Schrijf een SQL-query om de namen van werknemers te vinden die beginnen met ‘A’.
Hiervoor wordt de LIKE-operator van SQL gebruikt. Het wordt gebruikt om gefilterde gegevens op te halen door te zoeken naar een bepaald patroon in de WHERE-clausule.
De syntaxis voor het gebruik van LIKE is:
SELECTEER kolom1, kolom2 VAN tabelnaam WAAR kolomnaam LIKE patroon;
LEUK VINDEN: naam van de operator
patroon: exacte waarde geëxtraheerd uit het patroon om gerelateerde gegevens in de resultatenset te krijgen.
De vereiste vraag is:
SELECT * FROM Employees WHERE EmpName like 'A%' ;>
U kunt naar dit artikel verwijzen WHERE-clausule voor meer informatie over de LIKE-operator.
35. Wat is het verschil tussen primaire sleutel- en unieke beperkingen?
De primaire sleutel kan geen NULL-waarden hebben, de unieke beperkingen kunnen NULL-waarden hebben. Er is slechts één primaire sleutel in een tabel, maar er kunnen meerdere unieke beperkingen zijn. De primaire sleutel maakt automatisch de geclusterde index, maar de unieke sleutel niet.
36. Wat is een join in SQL? Wat zijn de soorten joins?
Een SQL Join-instructie wordt gebruikt om gegevens of rijen uit twee of meer tabellen te combineren op basis van een gemeenschappelijk veld daartussen. Verschillende soorten joins zijn:
- BINNENSTE VERBINDING : Het trefwoord INNER JOIN selecteert alle rijen uit beide tabellen, zolang aan de voorwaarde wordt voldaan. Dit trefwoord creëert de resultatenset door alle rijen uit beide tabellen te combineren waar aan de voorwaarde voldoet, d.w.z. de waarde van het gemeenschappelijke veld zal hetzelfde zijn.
- LINKS AANMELDEN : Deze join retourneert alle rijen van de tabel aan de linkerkant van de join en overeenkomende rijen voor de tabel aan de rechterkant van de join. Voor de rijen waarvoor er geen overeenkomende rij aan de rechterkant is, is de resultaatset nul. LEFT JOIN wordt ook wel LEFT OUTER JOIN genoemd
- RECHTS MOETEN : RIGHT JOIN is vergelijkbaar met LEFT JOIN. Deze join retourneert alle rijen van de tabel aan de rechterkant van de join en overeenkomende rijen voor de tabel aan de linkerkant van de join. Voor de rijen waarvoor er geen overeenkomende rij aan de linkerkant is, bevat de resultatenset null. RIGHT JOIN wordt ook wel RIGHT OUTER JOIN genoemd.
- VOLLEDIG DEELNEMEN : FULL JOIN maakt de resultatenset door de resultaten van zowel LEFT JOIN als RIGHT JOIN te combineren. De resultatenset bevat alle rijen uit beide tabellen. Voor de rijen waarvoor geen overeenkomst is, bevat de resultatenset NULL-waarden.
37. Wat is een index?
Een database-index is een datastructuur die de snelheid van het ophalen van gegevens in een databasetabel verbetert, ten koste van extra schrijfbewerkingen en het gebruik van meer opslagruimte om de extra kopie van gegevens te behouden. Gegevens kunnen slechts in één volgorde op een schijf worden opgeslagen. Om een snellere toegang volgens verschillende waarden te ondersteunen, is een snellere zoekopdracht, zoals een binaire zoekopdracht naar verschillende waarden, gewenst. Voor dit doel worden indexen op tabellen gemaakt. Deze indexen hebben extra ruimte op de schijf nodig, maar maken sneller zoeken mogelijk op basis van verschillende vaak gezochte waarden.
38. Wat is de cascadebeperking bij verwijderen?
Een ‘ON DELETE CASCADE’-beperking wordt in MySQL gebruikt om de rijen automatisch uit de onderliggende tabel te verwijderen wanneer de rijen uit de bovenliggende tabel worden verwijderd. Voor meer details, lees MySQL – Aan Cascade-beperking verwijderen artikel.
39. Leg de WITH-clausule in SQL uit?
De WITH-clausule biedt een manier om een tijdelijke relatie te definiëren waarvan de definitie alleen beschikbaar is voor de query waarin de with-clausule voorkomt. SQL past predikaten toe in de WITH-clausule nadat groepen zijn gevormd, zodat aggregatiefuncties kunnen worden gebruikt.
40. Wat zijn alle verschillende kenmerken van indexen?
De indexering heeft verschillende kenmerken:
- Toegangstypen : dit verwijst naar het type toegang, zoals op waarden gebaseerd zoeken, bereiktoegang, enz.
- Toegangstijd : Het verwijst naar de tijd die nodig is om een bepaald gegevenselement of een reeks elementen te vinden.
- Invoegtijd : Het verwijst naar de tijd die nodig is om de juiste ruimte te vinden en nieuwe gegevens in te voegen.
- Verwijderingstijd : Er wordt tijd besteed aan het vinden en verwijderen van een item en het bijwerken van de indexstructuur.
- Ruimte boven : Het verwijst naar de extra ruimte die nodig is voor de index.
41. Wat is een cursor?
De cursor is een tijdelijk geheugen of een tijdelijk werkstation. Het wordt toegewezen door de databaseserver op het moment dat de gebruiker DML-bewerkingen op de tafel uitvoert. Cursors worden gebruikt om databasetabellen op te slaan.
42. Verschillende soorten relaties opschrijven in SQL?
Er zijn verschillende relaties, namelijk:
- Eén-op-één relatie.
- Eén tot veel relaties.
- Veel-op-één-relatie.
- Zelfrefererende relatie.
43. Wat is een trigger?
De trekker is een verklaring die een systeem automatisch uitvoert wanneer er enige wijziging in de database plaatsvindt. Bij een trigger specificeren we eerst wanneer de trigger moet worden uitgevoerd en vervolgens welke actie moet worden uitgevoerd wanneer de trigger wordt uitgevoerd. Triggers worden gebruikt om bepaalde integriteitsbeperkingen en referentiële beperkingen te specificeren die niet kunnen worden opgegeven met behulp van het beperkingsmechanisme van SQL.
44. Wat is het verschil tussen SQL DELETE- en SQL TRUNCATE-opdrachten?
| SQL VERWIJDEREN | SQL AFKORT |
|---|---|
| De DELETE-instructie verwijdert rijen één voor één en registreert voor elke verwijderde rij een vermelding in het transactielogboek. | TRUNCATE TABLE verwijdert de gegevens door de toewijzing van de gegevenspagina's die worden gebruikt om de tabelgegevens op te slaan ongedaan te maken en registreert alleen de pagina-deallocaties in het transactielogboek. |
| DELETE-opdracht is langzamer dan de IdentityTRUNCATE-opdracht. | Terwijl het TRUNCATE-commando sneller is dan het DELETE-commando. |
| Om Verwijderen te gebruiken, heeft u DELETE-toestemming voor de tabel nodig. | Om Truncate op een tabel te gebruiken, hebben we minimaal ALTER-toestemming voor de tabel nodig. |
| De identiteit van de kolom behoudt de identiteit na gebruik van de DELETE-instructie op de tabel. | De identiteit van de kolom wordt opnieuw ingesteld op de beginwaarde als de tabel een identiteitskolom bevat. |
| Het verwijderen kan worden gebruikt met geïndexeerde weergaven. | Truncate kan niet worden gebruikt met geïndexeerde weergaven. |
45. Wat is het verschil tussen cluster- en niet-clusterindex?
| GECLUSTERDE INDEX | NIET-GECLUSTERDE INDEX |
|---|---|
| De geclusterde index is sneller. | De niet-geclusterde index is langzamer. |
| De geclusterde index vereist minder geheugen voor bewerkingen. | De niet-geclusterde index vereist meer geheugen voor bewerkingen. |
| In een geclusterde index is de index de hoofdgegevens. | In de niet-geclusterde index is de index een kopie van gegevens. |
| Een tabel kan slechts één geclusterde index hebben. | Een tabel kan meerdere niet-geclusterde indexen hebben. |
| De geclusterde index heeft een inherent vermogen om gegevens op de schijf op te slaan. | De niet-geclusterde index heeft niet de inherente mogelijkheid om gegevens op de schijf op te slaan. |
| Geclusterde indexen slaan verwijzingen op om geen gegevens te blokkeren. | De niet-geclusterde index slaat zowel de waarde op als een verwijzing naar de feitelijke rij die gegevens bevat. |
| In geclusterde indexbladknooppunten zijn de feitelijke gegevens zelf. | In een niet-geclusterde index zijn leaf-knooppunten niet de daadwerkelijke gegevens zelf, maar bevatten ze alleen opgenomen kolommen. |
| In de geclusterde index definieert de geclusterde sleutel de volgorde van de gegevens in de tabel. | In de niet-geclusterde index definieert de indexsleutel de volgorde van de gegevens binnen de index. |
| Een geclusterde index is een type index waarin tabelrecords fysiek opnieuw worden geordend zodat ze overeenkomen met de index. | Een niet-geclusterde index is een speciaal type index waarbij de logische indexvolgorde niet overeenkomt met de fysiek opgeslagen volgorde van de rijen op de schijf. |
Voor meer details verwijzen wij u naar Verschil tussen geclusterde index en de niet-geclusterde index artikel.
46. Wat is een Live Lock?
Levendslot treedt op wanneer twee of meer processen voortdurend dezelfde interactie herhalen als reactie op veranderingen in de andere processen, zonder enig nuttig werk te doen. Deze processen bevinden zich niet in de wachtstatus en worden gelijktijdig uitgevoerd. Dit is anders dan bij een deadlock, omdat bij een deadlock alle processen zich in de wachtstatus bevinden.
47. Wat is WANNEER in SQL?
Controle-instructies vormen een belangrijk onderdeel van de meeste talen, omdat ze de uitvoering van andere sets instructies controleren. Deze zijn ook te vinden in SQL en zouden moeten worden uitgebuit voor toepassingen zoals het filteren van zoekopdrachten en het optimaliseren van zoekopdrachten door een zorgvuldige selectie van tupels die aan onze vereisten voldoen. In dit bericht onderzoeken we de Case-Switch-instructie in SQL. De CASE-instructie is de manier waarop SQL omgaat met if/then-logica.
Syntaxis 1:
CASE case_value WHEN wanneer_waarde THEN verklaring_lijst [WHEN wanneer_waarde THEN verklaring_lijst] … [ELSE verklaring_lijst]END CASE
Syntaxis 2:
CASE WHEN zoek_voorwaarde THEN verklaring_lijst [WHEN zoek_voorwaarde THEN verklaring_lijst] … [ELSE verklaring_lijst]END CASE
Voor meer details kunt u de SQL | Casusverklaring artikel.
Geavanceerde vragen en antwoorden over SQL-interviews
48. Noem de verschillende typen functies voor hoofdlettermanipulatie die beschikbaar zijn in SQL.
Er zijn drie typen functies voor hoofdlettermanipulatie beschikbaar in SQL. Zij zijn,
- LAGER : Het doel van deze functie is om de tekenreeks in kleine letters terug te geven. Het neemt een string als argument en retourneert de string door deze naar kleine letters te converteren.
Syntaxis:
LAGER(‘tekenreeks’)
- BOVENSTE : Het doel van deze functie is om de string in hoofdletters terug te geven. Het neemt een string als argument en retourneert de string door deze in hoofdletters om te zetten.
Syntaxis:
BOVEN(‘tekenreeks’)
- INITCAP : Het doel van deze functie is om de string terug te geven met de eerste letter in hoofdletters en de rest van de letters in kleine letters.
Syntaxis:
INITCAP(‘tekenreeks’)
49. Wat zijn lokale en globale variabelen en hun verschillen?
Globale variabele: Globale variabelen zijn daarentegen variabelen die buiten functies worden gedefinieerd. Deze variabelen hebben een globaal bereik, zodat ze door elke functie kunnen worden gebruikt zonder ze als parameters aan de functie door te geven.
Lokale variabele: Lokale variabelen zijn variabelen die binnen functies zijn gedefinieerd. Ze hebben een lokaal bereik, wat betekent dat ze alleen kunnen worden gebruikt binnen de functies die ze definiëren.
50. Noem de functie die wordt gebruikt om spaties aan het einde van een string te verwijderen?
In SQL worden de spaties aan het einde van de string verwijderd door een trimfunctie.
Syntaxis:
Versiering(en), Waar s een willekeurige tekenreeks is.
51. Wat is het verschil tussen TRUNCATE- en DROP-instructies?
| SQL-DROP | AFKORT |
|---|---|
| Het DROP-commando wordt gebruikt om de tabeldefinitie en de inhoud ervan te verwijderen. | Terwijl de opdracht TRUNCATE wordt gebruikt om alle rijen uit de tabel te verwijderen. |
| Bij de DROP-opdracht wordt tabelruimte uit het geheugen vrijgemaakt. | Hoewel de opdracht TRUNCATE de tabelruimte niet uit het geheugen vrijmaakt. |
| DROP is een DDL-opdracht (Data Definition Language). | Terwijl de TRUNCATE ook een DDL-opdracht (Data Definition Language) is. |
| In de DROP-opdracht bestaat er geen weergave van de tabel. | Tijdens deze opdracht bestaat er een weergave van de tabel. |
| In de DROP-opdracht worden integriteitsbeperkingen verwijderd. | Tijdens deze opdracht worden integriteitsbeperkingen niet verwijderd. |
| In de DROP-opdracht wordt de spatie voor ongedaan maken niet gebruikt. | Tijdens deze opdracht wordt de spatie ongedaan gemaakt, maar minder dan DELETE. |
| Het DROP-commando is snel uit te voeren, maar geeft aanleiding tot complicaties. | Hoewel dit commando sneller is dan DROP. |
Voor meer details, lees het verschil tussen DROP en TRUNCATE in de SQL artikel.
52. Welke operator wordt gebruikt in zoekopdrachten voor patroonmatching?
LIKE-operator: Deze wordt gebruikt om gefilterde gegevens op te halen door naar een bepaald patroon in de Where-clausule te zoeken.
Syntaxis:
SELECTEER kolom1, kolom2 VAN tabelnaam WAAR kolomnaam LIKE patroon;
LIKE: naam van de operator
53. Definieer de SQL-volgorde aan de hand van de instructie?
De ORDER BY-instructie in SQL wordt gebruikt om de opgehaalde gegevens oplopend of aflopend te sorteren volgens een of meer kolommen.
- Standaard sorteert ORDER BY de gegevens oplopende volgorde.
- We kunnen het trefwoord DESC gebruiken om de gegevens in aflopende volgorde te sorteren en het trefwoord ASC om in oplopende volgorde te sorteren.
Voor meer details, lees SQL | BESTEL DOOR artikel.
54. Leg uit dat SQL een verklaring heeft?
HAVING wordt gebruikt om een voorwaarde op te geven voor een groep of een aggregatiefunctie die in de select-instructie wordt gebruikt. De WHERE-clausule selecteert vóór het groeperen. De HAVING-clausule selecteert rijen na groepering. In tegenstelling tot de HAVING-clausule kan de WHERE-clausule geen aggregatiefuncties bevatten. Zien Heeft versus waar-clausule?
55. Leg de SQL AND OR-instructie uit met een voorbeeld?
In SQL worden de AND & OR-operatoren gebruikt om de gegevens te filteren en nauwkeurige resultaten te verkrijgen op basis van voorwaarden. De operatoren AND en OR worden gebruikt met de WHERE-clausule.
Deze twee exploitanten worden genoemd conjunctieve operatoren .
- EN-operator: Met deze operator worden alleen de records weergegeven waarin beide voorwaarden aanwezig zijn voorwaarde 1 en voorwaarde 2 resulteren in True.
- OF-operator: Deze operator geeft de records weer waarin een van de voorwaarden voorwaarde 1 en voorwaarde 2 resulteert in Waar. Dat is, voorwaarde1 is waar of voorwaarde2 is waar.
Voor meer details, lees de SQL | EN en OF exploitanten artikel.
56. Definieer BETWEEN-instructies in SQL?
Met de SQL BETWEEN-voorwaarde kunt u eenvoudig testen of een expressie binnen een bereik van waarden valt (inclusief). De waarden kunnen tekst, datum of cijfers zijn. Het kan worden gebruikt in een SELECT-, INSERT-, UPDATE- of DELETE-instructie. De SQL BETWEEN-voorwaarde retourneert de records waarvan de expressie binnen het bereik waarde1 en waarde2 ligt.
Voor meer details, lees SQL | Tussen & I-operator artikel.
57. Waarom gebruiken we de commando's Commit en Rollback?
| VERBINDEN | TERUGROLLEN |
|---|---|
| COMMIT slaat permanent de wijzigingen op die door de huidige transactie zijn aangebracht. | ROLLBACK maakt de wijzigingen die door de huidige transactie zijn aangebracht ongedaan. |
| De transactie kan wijzigingen niet ongedaan maken na uitvoering van COMMIT. | Transactie bereikt de vorige status na ROLLBACK. |
| Wanneer de transactie succesvol is, wordt COMMIT toegepast. | Wanneer de transactie wordt afgebroken, vindt ROLLBACK plaats. |
Voor meer details, lees de Verschil tussen vastleggen en terugdraaien in SQL artikel.
58. Wat zijn ZUUR-eigenschappen?
A transactie is een enkele logische werkeenheid die toegang krijgt tot de inhoud van een database en deze mogelijk wijzigt. Transacties hebben toegang tot gegevens met behulp van lees- en schrijfbewerkingen. Om de consistentie in een database te behouden, worden voor en na de transactie bepaalde eigenschappen gevolgd. Deze worden genoemd ZUUR eigenschappen. ZUUR (Atomiciteit, Consistentie, Isolatie, Duurzaamheid) is een reeks eigenschappen die garanderen dat databasetransacties betrouwbaar worden verwerkt. Voor meer details, lees ZUUR-eigenschappen in de DBMS artikel.
boto3
59. Zijn NULL-waarden hetzelfde als nul of een spatie?
In SQL kan een nul- of spatie worden vergeleken met een andere nul- of spatie. terwijl een nul mogelijk niet gelijk is aan een andere nul. null betekent dat er mogelijk geen gegevens worden verstrekt of dat er geen gegevens zijn.
60. Wat is de behoefte aan groepsfuncties in SQL?
Bij databasebeheer zijn groepsfuncties, ook wel aggregatiefuncties genoemd, een functie waarbij de waarden van meerdere rijen worden gegroepeerd als invoer op basis van bepaalde criteria om één enkele waarde met een grotere betekenis te vormen.
Diverse groepsfuncties
1) Count() 2) Sum() 3) Avg() 4) Min() 5) Max()>
Voor meer details, lees de Verzamel functies in de SQL artikel.
61. Wat is de noodzaak van een MERGE-verklaring?
De SAMENVOEGEN commando in SQL is eigenlijk een combinatie van drie SQL-instructies: INVOEGEN, BIJWERKEN en VERWIJDEREN . In eenvoudige bewoordingen biedt de MERGE-instructie in SQL een handige manier om al deze drie bewerkingen samen uit te voeren, wat erg handig kan zijn als het gaat om het omgaan met grote, actieve databases. Maar in tegenstelling tot de instructies INSERT, UPDATE en DELETE vereist de instructie MERGE een brontabel om deze bewerkingen uit te voeren op de vereiste tabel, die een doeltabel wordt genoemd. Voor meer details, lees de SQL | MERGE-verklaring artikel.
62. Hoe kun je gemeenschappelijke records uit twee tabellen halen?
De onderstaande verklaring kan worden gebruikt om gegevens uit meerdere tabellen te halen, dus we moeten join gebruiken om gegevens uit meerdere tabellen te halen.
Syntaxis:
SELECTEER tabelmae1.kolomnaam, tabelnaam2.kolomnmae
VAN tablenmae1
JOIN tabelnaam2
ON tabelnmae1.columnmnam = tabelnaam2.columnnmae
BESTEL OP kolomnaam;
Voor meer details en voorbeelden kunt u lezen SQL | SELECTEER gegevens uit de meerdere tabellen artikel.
63. Wat zijn de voordelen van PL/SQL-functies?
De voordelen van PL/SQL-functies zijn als volgt:
- We kunnen de database één keer aanroepen om een blok met instructies uit te voeren. Het verbetert dus de prestaties bij het meerdere keren uitvoeren van SQL. Hierdoor wordt het aantal oproepen tussen de database en de applicatie verminderd.
- We kunnen het totale werk in kleine modules verdelen, wat behoorlijk beheersbaar wordt, wat ook de leesbaarheid van de code verbetert.
- Het bevordert herbruikbaarheid.
- Het is veilig omdat de code in de database blijft, waardoor interne databasegegevens voor de applicatie (gebruiker) verborgen blijven. De gebruiker roept alleen de PL/SQL-functies aan. Daarom zijn de beveiliging en het verbergen van gegevens verzekerd.
64. Wat is de SQL-query om de huidige datum weer te geven?
CURRENT_DATE keert terug naar de huidige datum. Deze functie retourneert dezelfde waarde als deze meerdere keren in één instructie wordt uitgevoerd, wat betekent dat de waarde vast is, zelfs als er een lange vertraging zit tussen het ophalen van rijen in een cursor.
Syntaxis:
HUIDIGE DATUM
of
HUIDIGE DATUM
65. Wat zijn geneste triggers?
Een trigger kan ook INSERT-, UPDATE- en DELETE-logica in zichzelf bevatten, dus wanneer de trigger wordt geactiveerd vanwege gegevenswijziging kan deze ook een nieuwe gegevenswijziging veroorzaken, waardoor een andere trigger wordt geactiveerd. Een trigger die logica voor gegevenswijziging in zichzelf bevat, wordt een geneste trigger genoemd.
66. Hoe vind ik de beschikbare beperkingsinformatie in de tabel?
In SQL Server wordt de data woordenboek is een reeks databasetabellen die worden gebruikt om informatie over de definitie van een database op te slaan. U kunt deze datawoordenboeken gebruiken om de beperkingen van een reeds bestaande tabel te controleren en deze te wijzigen (indien mogelijk). Voor meer details, lees SQL | Bestaande beperking voor een tabel controleren artikel.
67. Hoe voorkomen we dat we dubbele vermeldingen in een zoekopdracht krijgen zonder het afzonderlijke trefwoord te gebruiken?
DISTINCT is nuttig in bepaalde omstandigheden, maar heeft als nadeel dat het de belasting van de query-engine kan verhogen om de sortering uit te voeren (aangezien het de resultatenset met zichzelf moet vergelijken om duplicaten te verwijderen). We kunnen dubbele vermeldingen verwijderen met behulp van de volgende opties:
- Verwijder duplicaten met behulp van rijnummers.
- Verwijder duplicaten met behulp van self-join.
- Verwijder duplicaten met groeperen op.
Voor meer details, lees SQL | Verwijder duplicaten zonder onderscheid Lidwoord.
acteur zeenat aman
68. Het verschil tussen NVL- en NVL2-functies?
Deze functies werken met elk gegevenstype en hebben betrekking op het gebruik van nulwaarden in de expressielijst. Dit zijn allemaal enkele rijen functies, d.w.z. één resultaat per rij bieden.
NVL(uitdr1, uitdr2): In SQL converteert NVL() een nulwaarde naar een werkelijke waarde. Gegevenstypen die kunnen worden gebruikt, zijn datum, teken en getal. Gegevenstypen moeten met elkaar overeenkomen. d.w.z. expr1 en expr2 moeten van hetzelfde gegevenstype zijn.
Syntaxis:
NVL (expr1, expr2)
NVL2(uitdr1, uitdr2, uitdr3): De NVL2-functie onderzoekt de eerste expressie. Als de eerste expressie niet nul is, retourneert de functie NVL2 de tweede expressie. Als de eerste expressie nul is, wordt de derde expressie geretourneerd. Dat wil zeggen: als expr1 niet nul is, retourneert NVL2 expr2. Als expr1 nul is, retourneert NVL2 expr3. Het argument expr1 kan elk gegevenstype hebben.
Syntaxis:
NVL2 (expr1, expr2, expr3)
Voor meer details, lees Algemene SQL-functies | NVL, NVL2, DECODE, COALESCE, NULLIF, LNNVL , en NANVL artikel.
69. Wat is het verschil tussen COALESCE() & ISNULL()?
COALESCIE(): De COALESCE-functie in SQL retourneert de eerste niet-NULL-expressie onder zijn argumenten. Als alle expressies nul opleveren, retourneert de COALESCE-functie null.
Syntaxis:
SELECT kolom(men), CAOLESCE(expressie_1,….,expressie_n)FROM tabelnaam;
IS NIETS(): De ISNULL-functie heeft verschillende toepassingen in SQL Server en MySQL. In SQL Server wordt de functie ISNULL() gebruikt om NULL-waarden te vervangen.
Syntaxis:
SELECT kolom(men), ISNULL(kolomnaam, waarde_naar_vervangen)FROM tabelnaam;
Voor meer details kunt u de SQL | Nul-functies artikel.
70. Noem de operator die in de query wordt gebruikt voor het toevoegen van twee strings?
In SQL wordt voor het toevoegen van twee tekenreeksen de operator Concentratie gebruikt, met als symbool || .
Conclusie
Concluderend is het beheersen van SQL-interviewvragen cruciaal voor data-analisten, data-ingenieurs en bedrijfsanalisten die willen excelleren in hun respectievelijke vakgebieden. Dit artikel bevat een uitgebreide reeks SQL-interviewvragen en -antwoorden die zijn ontworpen om u grondig voor te bereiden.
Door deze vragen te begrijpen en te oefenen, vergroot u uw vermogen om de uitdagingen die zich voordoen in SQL-gerelateerde interviews effectief aan te pakken, wat uiteindelijk de weg vrijmaakt voor een succesvolle carrière in gegevensverwerking en -analyse. Vergeet niet dat elke vraag een kans is om uw analytische vaardigheden en technische expertise aan te tonen, essentiële eigenschappen voor elke aspirant-professional in deze cruciale rollen.