logo

Preguntes d'entrevista SQL

SQL és un llenguatge de base de dades estàndard utilitzat per accedir i manipular dades en bases de dades. Significa Llenguatge de consulta estructurat i va ser desenvolupat per IBM Computer Scientists a la dècada de 1970. Mitjançant l'execució de consultes, SQL pot crear, actualitzar, suprimir i recuperar dades en bases de dades com MySQL, Oracle, PostgreSQL, etc. En general, SQL és un llenguatge de consulta que es comunica amb bases de dades.

En aquest article, cobrim Més de 70 preguntes d'entrevista SQL amb respostes es va preguntar a les entrevistes de desenvolupadors SQL a MAANG i altres empreses ben pagades. Tant si sou un professional més recent com si sou experimentat amb 2, 5 o 10 anys d'experiència, aquest article us ofereix tota la confiança que necessiteu per a la vostra propera entrevista SQL.



Taula de contingut

Preguntes i respostes de l'entrevista SQL per a persones de nova edat

1. Què és SQL?

SQL són les sigles de Structured Query Language. És un llenguatge utilitzat per interactuar amb la base de dades, és a dir, per crear una base de dades, per crear una taula a la base de dades, per recuperar dades o actualitzar una taula a la base de dades, etc. SQL és un estàndard ANSI (American National Standards Institute). Utilitzant SQL, podem fer moltes coses. Per exemple, podem executar consultes, inserir registres en una taula, actualitzar registres, crear una base de dades, crear una taula, eliminar una taula, etc.



2. Què és una base de dades?

A Base de dades es defineix com una forma estructurada d'emmagatzematge de dades en un ordinador o una col·lecció de dades de manera organitzada i es pot accedir de diverses maneres. També és la col·lecció d'esquemes, taules, consultes, vistes, etc. Les bases de dades ens ajuden a emmagatzemar, accedir i manipular fàcilment les dades d'un ordinador. El sistema de gestió de bases de dades permet a l'usuari interactuar amb la base de dades.

3. SQL admet característiques del llenguatge de programació?

És cert que SQL és un llenguatge, però no admet programació ja que no és un llenguatge de programació, és un llenguatge d'ordres. No tenim declaracions condicionals en SQL com for loops o si... sinó, només tenim ordres que podem utilitzar per consultar, actualitzar, eliminar, etc. dades de la base de dades. SQL ens permet manipular dades en una base de dades.

4. Quina diferència hi ha entre el tipus de dades CHAR i VARCHAR2 en SQL?

Ambdós tipus de dades s'utilitzen per a caràcters, però varchar2 s'utilitza per a cadenes de caràcters de longitud variable, mentre que char s'utilitza per a cadenes de caràcters de longitud fixa. Per exemple , si especifiquem el tipus com a char(5), no se'ns permetrà emmagatzemar una cadena de cap altra longitud en aquesta variable, però si especifiquem el tipus d'aquesta variable com a varchar2(5), se'ns permetrà emmagatzemar cordes de longitud variable. Podem emmagatzemar una cadena de longitud 3 o 4 o 2 en aquesta variable.



5. Què entens per llenguatge de definició de dades?

Llenguatge de definició de dades o DDL permet l'execució de consultes com CREATE, DROP i ALTER. Són aquelles consultes que defineixen les dades.

6. Què entens per llenguatge de manipulació de dades?

Manipulació de dades El llenguatge o DML s'utilitza per accedir o manipular dades a la base de dades. Ens permet realitzar les funcions que es detallen a continuació:

  • Inserir dades o files en una base de dades
  • Eliminar dades de la base de dades
  • Recuperar o recuperar dades
  • Actualitzar les dades en una base de dades.

7. Quina és la vista en SQL?

Vistes en SQL són una mena de taula virtual. Una vista també té files i columnes tal com es troben en una taula real de la base de dades. Podem crear una vista seleccionant camps d'una o més taules presents a la base de dades. Una vista pot tenir totes les files d'una taula o files específiques en funció de determinades condicions.

La instrucció CREATE VIEW d'SQL s'utilitza per crear vistes.

Sintaxi bàsica:

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. Què entens per clau estrangera?

A Clau estrangera és un camp que pot identificar de manera única cada fila d'una altra taula. I aquesta restricció s'utilitza per especificar un camp com a clau estrangera. És a dir, aquest camp apunta a la clau primària d'una altra taula. Això normalment crea una mena d'enllaç entre les dues taules.

Considereu les dues taules tal com es mostra a continuació:

Comandes

O_ID ORDER_NO C_ID
1 2253 3
2 3325 3
3 4521 2
4 8532 1

Clients

C_ID NOM ADREÇA
1 RAMESH DELHI
2 SURESH NOIDA
3 DHARMESH GURGAON

Com podem veure clarament, que el camp C_ID de la taula Comandes és la clau principal de la taula Clients, és a dir, identifica de manera única cada fila de la taula Clients. Per tant, és una clau estrangera a la taula de comandes.

Sintaxi:

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. Què són la taula i el camp?

Taula: Una taula té una combinació de files i columnes. Les files s'anomenen registres i les columnes s'anomenen camps. A MS SQL Server, les taules s'estan designant dins dels noms de la base de dades i dels esquemes.

Camp: Al SGBD, un camp de base de dades es pot definir com una única informació d'un registre.

10. Quina és la clau primària?

A Clau primària és una de les claus candidates. Una de les claus candidates es selecciona com la més important i es converteix en la clau primària. No hi pot haver més d'una clau primària en una taula.

11. Què és una restricció per defecte?

El PER Defecte La restricció s'utilitza per omplir una columna amb valors predeterminats i fixos. El valor s'afegirà a tots els registres nous quan no es proporcioni cap altre valor.

12. Què és la normalització?

És un procés d'anàlisi dels esquemes de relació donats en funció de les seves dependències funcionals i claus primàries per aconseguir les següents propietats desitjables:

  1. Minimització de la redundància
  2. Minimització de les anomalies d'inserció, supressió i actualització

Els esquemes de relació que no compleixen les propietats es descomponen en esquemes de relació més petits que podrien complir amb les propietats desitjables.

13. Què és la Desnormalització?

Desnormalització és una tècnica d'optimització de bases de dades en la qual afegim dades redundants a una o més taules. Això ens pot ajudar a evitar unions costoses en una base de dades relacional. Tingueu en compte que la desnormalització no vol dir no fer normalització. És una tècnica d'optimització que s'aplica després de la normalització.

En una base de dades normalitzada tradicional, emmagatzemem dades en taules lògiques separades i intentem minimitzar les dades redundants. És possible que ens esforcem per tenir només una còpia de cada dada a la base de dades.

14. Què és una consulta?

An SQL La consulta s'utilitza per recuperar les dades necessàries de la base de dades. Tanmateix, pot haver-hi diverses consultes SQL que donen els mateixos resultats però amb diferents nivells d'eficiència. Una consulta ineficient pot esgotar els recursos de la base de dades, reduir la velocitat de la base de dades o provocar una pèrdua de servei per a altres usuaris. Per tant, és molt important optimitzar la consulta per obtenir el millor rendiment de la base de dades.

15. Què és una subconsulta?

En SQL, a Subconsulta es pot definir simplement com una consulta dins d'una altra consulta. En altres paraules, podem dir que una subconsulta és una consulta que està incrustada a la clàusula WHERE d'una altra consulta SQL.

16. Quins són els diferents operadors disponibles en SQL?

Hi ha tres operadors disponibles en SQL, a saber:

  1. Operadors aritmètics
  2. Operadors lògics
  3. Operadors de comparació

17. Què és una restricció?

Les restriccions són les regles que podem aplicar al tipus de dades d'una taula. És a dir, podem especificar el límit del tipus de dades que es poden emmagatzemar en una columna determinada d'una taula mitjançant restriccions. Per a més detalls, consulteu SQL|Restriccions article.

18. Què és la integritat de les dades?

La integritat de les dades es defineix com que les dades contingudes a la base de dades són correctes i coherents. Amb aquesta finalitat, les dades emmagatzemades a la base de dades han de satisfer determinats tipus de procediments (normes). Les dades d'una base de dades han de ser correctes i coherents. Per tant, les dades emmagatzemades a la base de dades han de satisfer determinats tipus de procediments (regles). El SGBD ofereix diferents maneres d'implementar aquest tipus de restriccions (regles). Això millora la integritat de les dades en una base de dades. Per a més detalls, consulteu diferència entre la seguretat i la integritat de les dades article.

19. Què és l'increment automàtic?

De vegades, mentre creem una taula, no tenim un identificador únic dins de la taula, per tant ens trobem amb dificultats per triar la clau primària. Per resoldre aquest problema, hem de proporcionar manualment claus úniques per a cada registre, però sovint també és una tasca tediosa. Així, podem utilitzar la funció d'increment automàtic que genera automàticament un valor de clau primària numèrica per a cada registre nou inserit. La funció d'increment automàtic és compatible amb totes les bases de dades. Per a més detalls, consulteu Increment automàtic SQL article.

20. Què és la col·lació MySQL?

Una col·lació de MySQL és un conjunt de regles ben definit que s'utilitzen per comparar caràcters d'un conjunt de caràcters determinat mitjançant la seva codificació corresponent. Cada conjunt de caràcters a MySQL pot tenir més d'una intercalació, i té, almenys, una intercalació predeterminada. Dos conjunts de caràcters no poden tenir la mateixa intercalació. Per a més detalls, consulteu Què són la intercalació i el conjunt de caràcters a MySQL? article.

21. Què són les funcions definides per l'usuari?

Podem utilitzar funcions definides per l'usuari en PL/SQL o Java per proporcionar una funcionalitat que no està disponible a les funcions integrades SQL o SQL. Les funcions SQL i les funcions definides per l'usuari poden aparèixer a qualsevol lloc, és a dir, allà on es produeixi una expressió.

Per exemple, es pot utilitzar en:

  • Seleccioneu una llista de sentències SELECT.
  • Condició de la clàusula ON.
  • CONNECTA PER, ORDENA PER, COMENÇA AMB i AGRUPA PER
  • La clàusula VALUES de la instrucció INSERT.
  • La clàusula SET de la instrucció UPDATE.

22. Quins són tots els tipus de funcions definides per l'usuari?

Les funcions definides per l'usuari permeten a les persones definir les seves pròpies funcions T-SQL que poden acceptar 0 o més paràmetres i retornar un únic valor de dades escalar o un tipus de dades de taula.
Els diferents tipus de funcions definides per l'usuari creades són:

1. Funció escalar definida per l'usuari Una funció escalar definida per l'usuari retorna un dels tipus de dades escalars. Els tipus de dades de text, imatge i marca de temps no s'admeten. Aquests són el tipus de funcions definides per l'usuari a les quals la majoria de desenvolupadors estan acostumats en altres llenguatges de programació. Passeu 0 a molts paràmetres i obteniu un valor de retorn.

2. Funció definida per l'usuari de valors de taula en línia Una funció definida per l'usuari de valors de taula en línia retorna un tipus de dades de taula i és una alternativa excepcional a una vista, ja que la funció definida per l'usuari pot passar paràmetres a una ordre de selecció T-SQL i, en essència, proporcionar-nos una funció parametritzada i no -vista actualitzable de les taules subjacents.

3. Funció definida per l'usuari de valors de taula de múltiples declaracions Una funció definida per l'usuari de valors de taula de múltiples declaracions retorna una taula i també és una alternativa excepcional a una vista, ja que la funció pot suportar diverses sentències T-SQL per generar el resultat final on la vista es limita a una sola instrucció SELECT. A més, la possibilitat de passar paràmetres a una ordre de selecció de TSQL o a un grup d'ells ens ofereix la capacitat de, en essència, crear una vista parametritzada i no actualitzable de les dades de les taules subjacents. Dins de l'ordre create function heu de definir l'estructura de la taula que es retorna. Després de crear aquest tipus de funció definida per l'usuari, es pot utilitzar a la clàusula FROM d'una ordre T-SQL, a diferència del comportament que es troba quan s'utilitza un procediment emmagatzemat que també pot retornar conjunts de registres.

23. Què és un procediment emmagatzemat?

Procediments emmagatzemats es creen per realitzar una o més operacions DML a les bases de dades. No és més que un grup de sentències SQL que accepta alguna entrada en forma de paràmetres i realitza alguna tasca i pot o no retornar un valor. Per a més detalls, consulteu el nostre Procediments emmagatzemats a l'SQL article.

24. Què són les funcions agregades i escalars?

Per fer operacions amb dades, SQL té moltes funcions integrades, es classifiquen en dues categories i, a més, es subcategoritzen en set funcions diferents sota cada categoria. Les categories són:

  • Funcions agregades: Aquestes funcions s'utilitzen per fer operacions a partir dels valors de la columna i es retorna un únic valor.
  • Funcions escalars: Aquestes funcions es basen en l'entrada de l'usuari, aquestes també retornen un sol valor.

Per a més detalls, llegiu el SQL | Funcions (funcions agregades i escalars) article.

25. Què és una ordre ALIAS?

Els àlies són els noms temporals donats a una taula o columna amb el propòsit d'una consulta SQL concreta. S'utilitza quan s'utilitza el nom d'una columna o taula diferent del seu nom original, però el nom modificat només és temporal.

  • Els àlies es creen per fer més llegibles els noms de taules o columnes.
  • El canvi de nom és només un canvi temporal i el nom de la taula no canvia a la base de dades original.
  • Els àlies són útils quan els noms de les taules o les columnes són grans o poc llegibles.
  • Es prefereixen quan hi ha més d'una taula implicada en una consulta.

Per a més detalls, llegiu el SQL | Àlies article.

26. Què són les ordres Union, menys i Interact?

Set Operations en SQL eliminen les tuples duplicades i només es poden aplicar a les relacions que són compatibles amb la unió. Les operacions de conjunt disponibles en SQL són:

  • Set Unió
  • Establir intersecció
  • Estableix la diferència

Operació UNION: Aquesta operació inclou totes les tuples que estan presents en qualsevol de les relacions. Per exemple: Per trobar tots els clients que tenen un préstec o un compte o tots dos en un banc.

 SELECT CustomerName FROM Depositor   UNION   SELECT CustomerName FROM Borrower ;>

L'operació d'unió elimina automàticament els duplicats. Si se suposa que es conserven tots els duplicats, s'utilitza UNION ALL en lloc de UNION.

Operació INTERSECT: Aquesta operació inclou les tuples que estan presents en ambdues relacions. Per exemple: per trobar els clients que tenen un préstec i un compte al banc:

 SELECT CustomerName FROM Depositor   INTERSECT  SELECT CustomerName FROM Borrower ;>

L'operació Intersect elimina automàticament els duplicats. Si se suposa que es conserven tots els duplicats, s'utilitza INTERSECT ALL en lloc de INTERSECT.

EXCEPTE per a l'operació: Aquesta operació inclou tuples que estan presents en una relació però que no haurien d'estar presents en una altra relació. Per exemple: per trobar clients que tenen un compte però sense préstec al banc:

 SELECT CustomerName FROM Depositor   EXCEPT  SELECT CustomerName FROM Borrower ;>

L'operació Excepte elimina automàticament els duplicats. Si se suposa que es conserven tots els duplicats, s'utilitza EXCEPTE TOTS en lloc de EXCEPTE.

27. Què és un T-SQL?

T-SQL és una abreviatura de Transact Structure Query Language. És un producte de Microsoft i és una extensió del llenguatge SQL que s'utilitza per interactuar amb bases de dades relacionals. Es considera que funciona millor amb els servidors Microsoft SQL. Les sentències T-SQL s'utilitzen per realitzar les transaccions a les bases de dades. T-SQL té una gran importància ja que totes les comunicacions amb una instància d'un servidor SQL es fan enviant sentències Transact-SQL al servidor. Els usuaris també poden definir funcions mitjançant T-SQL.

Els tipus de funcions T-SQL són:

  • Agregat funcions.
  • Classificació funcions. Hi ha diferents tipus de funcions de classificació.
  • Conjunt de files funció.
  • Escalar funcions.

28. Què és ETL en SQL?

ETL és un procés d'emmagatzematge de dades i ho significa Extracte , transformar, i Carrega . És un procés en el qual una eina ETL extreu les dades de diversos sistemes de fonts de dades, les transforma a l'àrea de prova i, finalment, les carrega al sistema Data Warehouse. Es tracta de tres funcions de base de dades que s'incorporen a una eina per extreure dades d'una base de dades i introduir dades en una altra base de dades.

29. Com copiar taules en SQL?

De vegades, en SQL, hem de crear una còpia exacta d'una taula ja definida (o creada). MySQL permet realitzar aquesta operació. Perquè és possible que necessitem aquestes taules duplicades per provar les dades sense tenir cap impacte en la taula original i les dades emmagatzemades en ella.

CREATE TABLE Contact List(Clone_1) LIKE Original_table;>

Per a més detalls, llegiu Taula de clonació a el MySQL article.

30. Què és la injecció SQL?

La injecció SQL és una tècnica que s'utilitza per explotar les dades de l'usuari mitjançant les entrades de la pàgina web mitjançant la injecció d'ordres SQL com a sentències. Bàsicament, aquestes declaracions es poden utilitzar per manipular el servidor web de l'aplicació per part d'usuaris maliciosos.

  • La injecció SQL és una tècnica d'injecció de codi que pot destruir la vostra base de dades.
  • La injecció SQL és una de les tècniques de pirateria web més habituals.
  • La injecció SQL és la col·locació de codi maliciós a les sentències SQL, mitjançant l'entrada de la pàgina web.

Per a més detalls, llegiu el SQL | Injecció article.

31. Podem desactivar un disparador? En cas afirmatiu, com?

Sí, podem desactivar un activador a PL/SQL. Si penseu a desactivar temporalment un activador i es compleix una de les condicions següents:

  • Un objecte al qual fa referència l'activador no està disponible.
  • Hem de realitzar una gran càrrega de dades i voler que avanci ràpidament sense activar disparadors.
  • Estem carregant dades a la taula a la qual s'aplica l'activador.
  • Desactivem un disparador mitjançant la instrucció ALTER TRIGGER amb l'opció DISABLE.
  • Podem desactivar tots els activadors associats a una taula al mateix temps mitjançant la instrucció ALTER TABLE amb l'opció DISABLE ALL TRIGGERS.

Preguntes i respostes d'entrevista SQL intermedi

32. Quines diferències hi ha entre SQL i PL/SQL?

Algunes diferències comunes entre SQL i PL/SQL es mostren a continuació:

SQL

PL/SQL

SQL és un llenguatge d'execució de consultes o de comandaments

PL/SQL és un llenguatge de programació complet

SQL és un llenguatge orientat a dades.

PL/SQL és un llenguatge procedimental

SQL és de naturalesa molt declarativa.

PL/SQL té una naturalesa procedimental.

S'utilitza per manipular dades.

S'utilitza per crear aplicacions.

Podem executar una instrucció a la vegada en SQL

Podem executar blocs d'instruccions en PL/SQL

SQL diu a les bases de dades, què fer?

PL/SQL indica a les bases de dades com fer-ho.

Podem incrustar SQL a PL/SQL

No podem incrustar PL/SQL a SQL

33. Quina diferència hi ha entre els operadors BETWEEN i IN en SQL?

ENTRE: El ENTRE L'operador s'utilitza per obtenir files en funció d'un rang de valors.
Per exemple,

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

Aquesta consulta seleccionarà totes aquestes files de la taula. Estudiants on el valor del camp ROLL_NO es troba entre 20 i 30.
EN: El EN L'operador s'utilitza per comprovar els valors continguts en conjunts específics.
Per exemple,

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

Aquesta consulta seleccionarà totes aquelles files de la taula Estudiants on el valor del camp ROLL_NO és 20 o 21 o 23.

34. Escriu una consulta SQL per trobar els noms dels empleats que comencen per ‘A’.

Per a aquest propòsit s'utilitza l'operador LIKE d'SQL. S'utilitza per obtenir dades filtrades cercant un patró particular a la clàusula where.
La sintaxi per utilitzar LIKE és,

SELECT column1,column2 FROM nom_taula WHERE nom_columna LIKE patró;

M'AGRADA: nom de l'operador

patró: valor exacte extret del patró per obtenir dades relacionades al conjunt de resultats.

La consulta requerida és:

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

Podeu consultar aquest article clàusula ON per obtenir més detalls sobre l'operador LIKE.

35. Quina diferència hi ha entre la clau primària i les restriccions úniques?

La clau primària no pot tenir valors NULL, les restriccions úniques poden tenir valors NULL. Només hi ha una clau primària en una taula, però hi pot haver múltiples restriccions úniques. La clau primària crea l'índex agrupat automàticament, però la clau única no.

36. Què és una unió a SQL? Quins són els tipus d'unions?

Una instrucció SQL Join s'utilitza per combinar dades o files de dues o més taules basades en un camp comú entre elles. Els diferents tipus d'unions són:

  • COMBINACIÓ INTERNA : La paraula clau INNER JOIN selecciona totes les files d'ambdues taules sempre que es compleixi la condició. Aquesta paraula clau crearà el conjunt de resultats combinant totes les files de les dues taules on la condició compleixi, és a dir, el valor del camp comú serà el mateix.
  • UNIR-SE A L'ESQUERRA : Aquesta unió retorna totes les files de la taula a la part esquerra de la unió i les files coincidents per a la taula a la part dreta de la unió. Per a les files per a les quals no hi ha cap fila coincident al costat dret, el conjunt de resultats serà nul. LEFT JOIN també es coneix com a LEFT OUTER JOIN
  • UNIR-SE A LA DRETA : RIGHT JOIN és similar a LEFT JOIN. Aquesta unió retorna totes les files de la taula a la part dreta de la unió i les files coincidents per a la taula a la part esquerra de la unió. Per a les files per a les quals no hi ha cap fila coincident al costat esquerre, el conjunt de resultats contindrà null. RIGHT JOIN també es coneix com RIGHT OUTER JOIN.
  • PARTICIPACIÓ COMPLETA : FULL JOIN crea el conjunt de resultats combinant els resultats de LEFT JOIN i RIGHT JOIN. El conjunt de resultats contindrà totes les files de les dues taules. Per a les files per a les quals no hi ha coincidència, el conjunt de resultats contindrà valors NULL.

37. Què és un índex?

Un índex de base de dades és una estructura de dades que millora la velocitat de les operacions de recuperació de dades en una taula de base de dades a costa d'escriptures addicionals i l'ús de més espai d'emmagatzematge per mantenir la còpia addicional de les dades. Les dades només es poden emmagatzemar en un ordre en un disc. Per admetre un accés més ràpid segons diferents valors, es desitja una cerca més ràpida com una cerca binària de diferents valors. Amb aquesta finalitat, es creen índexs en taules. Aquests índexs necessiten espai addicional al disc, però permeten una cerca més ràpida segons els diferents valors de cerca freqüents.

38. Què és la restricció de cascada On Delete?

A MySQL s'utilitza una restricció 'ON DELETE CASCADE' per eliminar les files de la taula fill automàticament quan s'eliminen les files de la taula pare. Per a més detalls, llegiu MySQL - En Suprimir la restricció en cascada article.

39. Expliqueu la clàusula WITH en SQL?

La clàusula WITH proporciona una relació de manera de definir una relació temporal la definició de la qual només està disponible per a la consulta en què es produeix la clàusula with. SQL aplica predicats a la clàusula WITH després que s'hagin format els grups, de manera que es poden utilitzar funcions d'agregació.

40. Quins són tots els diferents atributs dels índexs?

La indexació té diferents atributs:

  • Tipus d'accés : es refereix al tipus d'accés, com ara la cerca basada en valors, l'accés a l'interval, etc.
  • Hora d'accés : Fa referència al temps necessari per trobar un element de dades concret o conjunt d'elements.
  • Temps d'inserció : Fa referència al temps necessari per trobar l'espai adequat i inserir dades noves.
  • Hora d'eliminació : Es triga temps a trobar un element i eliminar-lo, així com a actualitzar l'estructura de l'índex.
  • Espai Overhead : Fa referència a l'espai addicional que requereix l'índex.

41. Què és un Cursor?

El cursor és una memòria temporal o una estació de treball temporal. El servidor de base de dades l'assigna en el moment de realitzar operacions DML a la taula per part de l'usuari. Els cursors s'utilitzen per emmagatzemar taules de bases de dades.

42. Escriu diversos tipus de relacions en SQL?

Hi ha diverses relacions, a saber:

  • Relació un a un.
  • Relacions d'una a moltes.
  • Relació de molts a un.
  • Relació d'auto-referència.

43. Què és un disparador?

El detonant és una instrucció que un sistema executa automàticament quan hi ha alguna modificació a la base de dades. En un disparador, primer especifiquem quan s'ha d'executar el disparador i després l'acció que s'ha de realitzar quan s'executa el disparador. Els activadors s'utilitzen per especificar determinades restriccions d'integritat i restriccions de referència que no es poden especificar mitjançant el mecanisme de restricció d'SQL.

44. Quina diferència hi ha entre les ordres SQL DELETE i SQL TRUNCATE?

ELIMINAR SQL

TRUNCAT SQL

La instrucció DELETE elimina les files d'una en una i registra una entrada al registre de transaccions per a cada fila suprimida. TRUNCATE TABLE elimina les dades desassignant les pàgines de dades utilitzades per emmagatzemar les dades de la taula i només registra les desassignacions de pàgines al registre de transaccions.
L'ordre DELETE és més lenta que l'ordre identityTRUNCATE. Mentre que l'ordre TRUNCATE és més ràpida que l'ordre DELETE.
Per utilitzar l'opció Suprimeix, necessiteu el permís DE SUPPRIMER a la taula. Per utilitzar Truncate en una taula necessitem almenys el permís ALTER a la taula.
La identitat de la columna conserva la identitat després d'utilitzar la instrucció DELETE a la taula. La identitat de la columna es restableix al seu valor inicial si la taula conté una columna d'identitat.
La supressió es pot utilitzar amb vistes indexades. El truncat no es pot utilitzar amb vistes indexades.

45. Quina diferència hi ha entre l'índex de clúster i l'índex no clúster?

ÍNDEX AGRUPAT ÍNDEX NO CLUSTER
L'índex agrupat és més ràpid. L'índex no agrupat és més lent.
L'índex agrupat requereix menys memòria per a les operacions. L'índex no agrupat requereix més memòria per a les operacions.
En un índex agrupat, l'índex és la dada principal. A l'índex no agrupat, l'índex és una còpia de les dades.
Una taula només pot tenir un índex agrupat. Una taula pot tenir diversos índexs no agrupats.
L'índex agrupat té una capacitat inherent per emmagatzemar dades al disc. L'índex no agrupat no té la capacitat inherent d'emmagatzemar dades al disc.
Els índexs agrupats emmagatzemen punters per bloquejar no dades. L'índex no agrupat emmagatzema tant el valor com un punter a la fila real que conté les dades.
En els nodes de fulla d'índex agrupat són dades reals. En un índex no agrupat, els nodes fulla no són les dades reals en si, sinó que només contenen columnes incloses.
A l'índex Clustered, la clau Clustered defineix l'ordre de les dades dins de la taula. A l'índex no agrupat, la clau d'índex defineix l'ordre de les dades dins de l'índex.
Un índex agrupat és un tipus d'índex en què els registres de la taula es reordenen físicament per coincidir amb l'índex. Un índex no agrupat és un tipus especial d'índex en el qual l'ordre lògic de l'índex no coincideix amb l'ordre físic emmagatzemat de les files del disc.

Per a més detalls, consulteu Diferència entre l'índex Clustered i l'índex No Clustered article.

46. ​​Què és un bloqueig en directe?

Livelock Es produeix quan dos o més processos repeteixen contínuament la mateixa interacció en resposta als canvis en els altres processos sense fer cap treball útil. Aquests processos no estan en estat d'espera i s'executen simultàniament. Això és diferent d'un bloqueig perquè en un bloqueig tots els processos estan en estat d'espera.

47. Què és Case WHEN en SQL?

Les sentències de control formen una part important de la majoria dels llenguatges, ja que controlen l'execució d'altres conjunts de sentències. També es troben a SQL i s'han d'aprofitar per a usos com ara el filtratge de consultes i l'optimització de consultes mitjançant una selecció acurada de tuples que compleixin els nostres requisits. En aquesta publicació, explorem la instrucció Case-Switch en SQL. La sentència CASE és la manera d'SQL de gestionar la lògica if/then.

Sintaxi 1:

CASE valor_de_cas QUAN valor_quan THEN llista_declaració [QUAN valor_quan THEN llista_de_sentències] … [ELSE llista_de_sentències]END CAS

Sintaxi 2:

CAS QUAN condició_de_cerca THEN llista_declaració [QUAN condició_de_cerca I Llista_de_sentències] … [ELSE llista_declaració]END CAS

Per a més detalls, llegiu el SQL | Declaració del cas article.

Preguntes i respostes d'entrevista SQL avançada

48. Anomena diferents tipus de funcions de manipulació de casos disponibles en SQL.

Hi ha tres tipus de funcions de manipulació de casos disponibles a SQL. Ells són,

  • MÉS BAIX : El propòsit d'aquesta funció és tornar la cadena en minúscules. Pren una cadena com a argument i torna la cadena convertint-la en minúscules.
    Sintaxi:

LOWER(‘cadena’)

  • SUPERIOR : El propòsit d'aquesta funció és tornar la cadena en majúscules. Pren una cadena com a argument i torna la cadena convertint-la en majúscules.
    Sintaxi:

UPPER(‘cadena’)

  • INITCAP : El propòsit d'aquesta funció és retornar la cadena amb la primera lletra en majúscula i la resta de lletres en minúscula.
    Sintaxi:

INITCAP(‘cadena’)

49. Què són les variables locals i globals i les seves diferències?

Variable global: En canvi, les variables globals són variables que es defineixen fora de les funcions. Aquestes variables tenen un abast global, de manera que poden ser utilitzades per qualsevol funció sense passar-les a la funció com a paràmetres.

Variable local: Les variables locals són variables que es defineixen dins de les funcions. Tenen àmbit local, és a dir, només es poden utilitzar dins de les funcions que els defineixen.

50. Anomena la funció que s'utilitza per eliminar espais al final d'una cadena?

En SQL, els espais al final de la cadena s'eliminen mitjançant una funció de retall.

Sintaxi:

Tall(s), On s és una cadena qualsevol.

51. Quina diferència hi ha entre les sentències TRUNCATE i DROP?

SQL DROP TRUNCAR
L'ordre DROP s'utilitza per eliminar la definició de la taula i el seu contingut. Mentre que l'ordre TRUNCATE s'utilitza per eliminar totes les files de la taula.
A l'ordre DROP, l'espai de taula s'allibera de la memòria. Tot i que l'ordre TRUNCATE no allibera l'espai de taula de la memòria.
DROP és una ordre DDL (Llenguatge de definició de dades). Mentre que TRUNCATE és també una ordre DDL (Llenguatge de definició de dades).
A l'ordre DROP, no existeix una vista de la taula. Mentre està en aquesta comanda, existeix una vista de la taula.
A l'ordre DROP, s'eliminaran les restriccions d'integritat. Mentre estigui en aquesta comanda, les restriccions d'integritat no s'eliminaran.
A l'ordre DROP, no s'utilitza l'espai de desfer. En aquesta ordre, s'utilitza l'espai de desfer, però menys que DELETE.
L'ordre DROP s'executa ràpidament, però comporta complicacions. Tot i que aquesta ordre és més ràpida que DROP.

Per obtenir més detalls, llegiu la Diferència entre DEIXA i TRANQUEU-hi el SQL article.

52. Quin operador s'utilitza en les consultes per a la concordança de patrons?

Operador LIKE: s'utilitza per obtenir dades filtrades cercant un patró determinat a la clàusula where.

Sintaxi:

SELECT column1,column2 FROM nom_taula WHERE nom_columna LIKE patró;

LIKE: nom de l'operador

53. Definiu l'ordre SQL per la sentència?

La instrucció ORDER BY en SQL s'utilitza per ordenar les dades obtingudes de manera ascendent o descendent segons una o més columnes.

  • Per defecte ORDER BY ordena les dades ordre ascendent.
  • Podem utilitzar la paraula clau DESC per ordenar les dades en ordre descendent i la paraula clau ASC per ordenar en ordre ascendent.

Per a més detalls, llegiu SQL | DEMANAT PER article.

54. Explicar SQL Tenir declaració?

HAVING s'utilitza per especificar una condició per a un grup o una funció agregada utilitzada a la instrucció select. La clàusula WHERE selecciona abans d'agrupar. La clàusula HAVING selecciona les files després de l'agrupació. A diferència de la clàusula HAVING, la clàusula WHERE no pot contenir funcions agregades. Vegeu Tenir contra la clàusula On?

55. Expliqueu la sentència SQL AND OR amb un exemple?

En SQL, els operadors AND & OR s'utilitzen per filtrar les dades i obtenir resultats precisos en funció de les condicions. Els operadors AND i OR s'utilitzen amb la clàusula WHERE.

Aquests dos operadors són anomenats operadors conjuntius .

  1. AND Operador: Aquest operador només mostra aquells registres on ambdues condicions la condició 1 i la condició 2 s'avaluen com a True.
  2. Operador OR: Aquest operador mostra els registres on una de les condicions condició 1 i condició 2 s'avalua com a Vertader. Això és, o bé la condició1 és certa o la condició2 és vertadera.

Per a més detalls, llegiu el SQL | I i O article dels operadors.

56. Definir sentències ENTRE en SQL?

La condició SQL BETWEEN us permet comprovar fàcilment si una expressió es troba dins d'un rang de valors (inclosos). Els valors poden ser text, data o números. Es pot utilitzar en una instrucció SELECT, INSERT, UPDATE o DELETE. La condició SQL BETWEEN retornarà els registres on l'expressió estigui dins de l'interval de valor1 i valor2.

Per a més detalls, llegiu SQL | Operador Between & I article.

57. Per què fem servir les ordres Commit i Rollback?

COMPROMÈS RECOLLIDA
COMMIT desa permanentment els canvis fets per la transacció actual. ROLLBACK desfer els canvis fets per la transacció actual.
La transacció no pot desfer els canvis després de l'execució de COMMIT. La transacció arriba al seu estat anterior després de ROLLBACK.
Quan la transacció té èxit, s'aplica COMMIT. Quan la transacció s'avorta, es produeix ROLLBACK.

Per a més detalls, llegiu el Diferència entre Commit i Rollback en SQL article.

58. Quines són les propietats dels àcids?

A transacció és una única unitat lògica de treball que accedeix i possiblement modifica el contingut d'una base de dades. Les transaccions accedeixen a les dades mitjançant operacions de lectura i escriptura. Per tal de mantenir la coherència en una base de dades, abans i després de la transacció, es segueixen determinades propietats. Aquests s'anomenen ÀCID propietats. ÀCID (Atomicitat, consistència, aïllament, durabilitat) és un conjunt de propietats que garanteixen que les transaccions de la base de dades es processin de manera fiable. Per a més detalls, llegiu Propietats àcids en el DBMS article.

59. Els valors NULL són iguals a zero o un espai en blanc?

En SQL, zero o espai en blanc es pot comparar amb un altre zero o espai en blanc. mentre que un nul pot no ser igual a un altre nul. null significa que és possible que no es proporcionin dades o que no hi hagi dades.

60. Quina és la necessitat de les funcions de grup en SQL?

En la gestió de bases de dades, les funcions de grup, també conegudes com a funcions agregades, són una funció on els valors de diverses files s'agrupen com a entrada en determinats criteris per formar un únic valor de significat més significatiu.

Diverses funcions de grup

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

Per a més detalls, llegiu el Funcions agregades en SQL article.

61. Quina és la necessitat d'una declaració MERGE?

El FUSIONAR L'ordre en SQL és en realitat una combinació de tres sentències SQL: INSERT, UPDATE i DELETE . En paraules senzilles, la instrucció MERGE en SQL proporciona una manera còmoda de realitzar totes aquestes tres operacions juntes, que pot ser molt útil quan es tracta de gestionar bases de dades grans en execució. Però a diferència de les declaracions INSERT, UPDATE i DELETE, la instrucció MERGE requereix una taula d'origen per realitzar aquestes operacions a la taula requerida que s'anomena taula de destinació. Per a més detalls, llegiu el SQL | Declaració MERGE article.

62. Com podeu obtenir registres comuns de dues taules?

La declaració següent es pot utilitzar per obtenir dades de diverses taules, per tant, hem d'utilitzar join per obtenir dades de diverses taules.

Sintaxi:

SELECT tablenmae1.columnmname, tablename2.columnnmae

DE tablenmae1

JOIN tablename2

ON tablenmae1.columnmnam = nomtaula2.columnnmae

ORDENA PER nom de columna;

Per a més detalls i exemples, llegiu SQL | SELECCIONA dades de les taules múltiples article.

63. Quins avantatges tenen les funcions PL/SQL?

Els avantatges de les funcions PL / SQL són els següents:

  • Podem fer una única trucada a la base de dades per executar un bloc d'instruccions. Per tant, millora el rendiment davant l'execució d'SQL diverses vegades. Això reduirà el nombre de trucades entre la base de dades i l'aplicació.
  • Podem dividir el treball general en mòduls petits que esdevenen bastant manejables, millorant també la llegibilitat del codi.
  • Afavoreix la reutilització.
  • És segur ja que el codi roman dins de la base de dades, amagant així els detalls de la base de dades interna de l'aplicació (usuari). L'usuari només fa una trucada a les funcions PL/SQL. Per tant, es garanteix la seguretat i l'ocultació de dades.

64. Quina és la consulta SQL per mostrar la data actual?

CURRENT_DATE torna a la data actual. Aquesta funció retorna el mateix valor si s'executa més d'una vegada en una sola instrucció, el que significa que el valor és fix, fins i tot si hi ha un gran retard entre l'obtenció de files en un cursor.

Sintaxi:

DATA CORRENT

o

DATA CORRENT

65. Què són els disparadors imbricats?

Un activador també pot contenir la lògica INSERT, UPDATE i DELETE, de manera que quan s'activa a causa de la modificació de dades, també pot provocar una altra modificació de dades, activant així un altre activador. Un activador que conté la lògica de modificació de dades en si mateix s'anomena activador imbricat.

66. Com trobar la informació de restricció disponible a la taula?

A SQL Server el diccionari de dades és un conjunt de taules de bases de dades utilitzades per emmagatzemar informació sobre la definició d'una base de dades. Es poden utilitzar aquests diccionaris de dades per comprovar les restriccions d'una taula ja existent i canviar-les (si és possible). Per a més detalls, llegiu SQL | Comprovació de la restricció existent en una taula article.

67. Com evitem obtenir entrades duplicades en una consulta sense utilitzar la paraula clau diferent?

DISTINCT és útil en determinades circumstàncies, però té els inconvenients que pot augmentar la càrrega del motor de consultes per realitzar l'ordenació (ja que necessita comparar el conjunt de resultats amb si mateix per eliminar els duplicats). Podem eliminar les entrades duplicades mitjançant les opcions següents:

  • Elimineu els duplicats mitjançant números de fila.
  • Elimina els duplicats mitjançant l'auto-unió.
  • Elimineu els duplicats utilitzant agrupar per.

Per a més detalls, llegiu SQL | Elimina els duplicats sense distinció articles.

68. La diferència entre les funcions NVL i NVL2?

Aquestes funcions funcionen amb qualsevol tipus de dades i es refereixen a l'ús de valors nuls a la llista d'expressions. Tots ells són d'una sola fila funcions, és a dir, proporcionar un resultat per fila.

NVL(expr1, expr2): En SQL, NVL() converteix un valor nul en un valor real. Els tipus de dades que es poden utilitzar són la data, el caràcter i el número. Els tipus de dades han de coincidir entre si. és a dir, expr1 i expr2 han de ser del mateix tipus de dades.

Sintaxi:

NVL (expr1, expr2)

NVL2(expr1, expr2, expr3): La funció NVL2 examina la primera expressió. Si la primera expressió no és nul·la, aleshores la funció NVL2 retorna la segona expressió. Si la primera expressió és nul·la, es retorna la tercera expressió, és a dir, si expr1 no és nul·la, NVL2 retorna expr2. Si expr1 és nul, NVL2 retorna expr3. L'argument expr1 pot tenir qualsevol tipus de dades.

Sintaxi:

NVL2 (expr1, expr2, expr3)

Per a més detalls, llegiu Funcions generals SQL | NVL, NVL2, DECODIFICACIÓ, COALESCE, NULLIF, LNNVL , i NANVL article.

69. Quina diferència hi ha entre COALESCE() i ISNULL()?

COALESCE (): La funció COALESCE en SQL retorna la primera expressió no NULL entre els seus arguments. Si totes les expressions s'avaluen com a null, aleshores la funció COALESCE retornarà nul.
Sintaxi:

int una cadena java

SELECT column(es), CAOLESCE(expression_1,….,expression_n)FROM table_name;

ISNULL(): La funció ISNULL té diferents usos a SQL Server i MySQL. A SQL Server, la funció ISNULL() s'utilitza per substituir valors NULL.
Sintaxi:

SELECT column(es), ISNULL(nom_columna, valor_a_substituir)FROM nom_taula;

Per a més detalls, llegiu el SQL | Funcions nul·les article.

70. Anomena l'operador que s'utilitza a la consulta per afegir dues cadenes?

En SQL per afegir dues cadenes, s'utilitza l'operador Concentració i el seu símbol és || .

Conclusió

En conclusió, dominar les preguntes de l'entrevista SQL és crucial per als analistes de dades, els enginyers de dades i els analistes de negocis que volen excel·lir en els seus respectius camps. Aquest article ha proporcionat un conjunt complet de preguntes i respostes d'entrevistes SQL dissenyades per preparar-vos a fons.

En comprendre i practicar aquestes preguntes, milloreu la vostra capacitat per abordar els reptes que plantegen les entrevistes relacionades amb SQL de manera eficaç i, finalment, obrireu el camí per a una carrera exitosa en el maneig i l'anàlisi de dades. Recordeu que cada pregunta és una oportunitat per demostrar la vostra destresa analítica i experiència tècnica, trets essencials per a qualsevol aspirant a professional en aquests rols crítics.