SQL signifie Structured Query Language est un langage de programmation spécifique au domaine pour la gestion des données dans les systèmes de gestion de base de données. Les compétences en programmation SQL sont hautement souhaitables et requises sur le marché, car il existe une utilisation massive des systèmes de gestion de base de données (SGBD) dans presque toutes les applications logicielles. Afin d'obtenir un emploi, les candidats doivent casser l'entrevue au cours de laquelle on leur pose diverses questions d'entretien SQL.
Voici une liste organisée de questions et réponses d'entretien SQL, qui sont susceptibles d'être posées lors de l'entretien SQL. Les candidats sont susceptibles de se voir poser des questions d'entretien SQL de base pour avancer des questions SQL de niveau en fonction de leur expérience et de divers autres facteurs. La liste ci-dessous couvre toutes les questions d'entretien SQL pour les novices ainsi que les questions d'entretien SQL pour les candidats de niveau expérimenté et certaines questions d'entretien de requête SQL.
Fichier PDF des questions d'entrevue SQL: Téléchargez ici
Questions et réponses fréquemment posées aux entretiens SQL pour les novices et les expérimentés
1. Qu'est-ce que le SGBD?
Un système de gestion de base de données (SGBD) est un programme qui contrôle la création, la maintenance et l'utilisation d'une base de données. Le SGBD peut être qualifié de gestionnaire de fichiers qui gère les données dans une base de données plutôt que de les enregistrer dans des systèmes de fichiers.
2. Qu'est-ce que le SGBDR?
SGBDR signifie système de gestion de base de données relationnelle. Le SGBDR stocke les données dans la collection de tables, qui est liée par des champs communs entre les colonnes de la table. Il fournit également des opérateurs relationnels pour manipuler les données stockées dans les tables.
Exemple: SQL Server.
3. Qu'est-ce que SQL?
SQL est l'acronyme de Structured Query Language et est utilisé pour communiquer avec la base de données. Il s'agit d'un langage standard utilisé pour effectuer des tâches telles que la récupération, la mise à jour, l'insertion et la suppression de données d'une base de données.
Les commandes SQL standard sont Select.
4. Qu'est-ce qu'une base de données?
La base de données n'est rien d'autre qu'une forme organisée de données pour un accès, un stockage, une récupération et une gestion faciles des données. Ceci est également connu sous le nom de forme structurée de données qui peuvent être consultées de plusieurs manières.
Exemple: base de données de gestion scolaire, base de données de gestion bancaire.
5. Que sont les tableaux et les champs?
Une table est un ensemble de données organisées dans un modèle avec des colonnes et des lignes. Les colonnes peuvent être classées comme verticales et les lignes sont horizontales. Une table a spécifié un nombre de colonnes appelées champs mais peut avoir n'importe quel nombre de lignes appelé enregistrement.
Exemple:.
Tableau: Employé.
Champ: ID Emp, nom Emp, date de naissance.
Données: 201456, David, 15/11/1960.
6. Qu'est-ce qu'une clé primaire?
Une clé primaire est une combinaison de champs qui spécifient de manière unique une ligne. Il s'agit d'un type spécial de clé unique, et il a une contrainte NOT NULL implicite. Cela signifie que les valeurs de clé primaire ne peuvent pas être NULL.
7. Qu'est-ce qu'une clé unique?
Une contrainte de clé unique identifiait de manière unique chaque enregistrement de la base de données. Cela garantit l'unicité de la colonne ou de l'ensemble de colonnes.
Une contrainte de clé primaire a une contrainte unique automatique définie dessus. Mais pas, dans le cas de Unique Key.
Il peut y avoir de nombreuses contraintes uniques définies par table, mais une seule contrainte de clé primaire définie par table.
8. Qu'est-ce qu'une clé étrangère?
Une clé étrangère est une table qui peut être liée à la clé primaire d'une autre table. Une relation doit être créée entre deux tables en référençant la clé étrangère avec la clé primaire d'une autre table.
9. Qu'est-ce qu'une jointure?
Il s'agit d'un mot clé utilisé pour interroger les données de plusieurs tables en fonction de la relation entre les champs des tables. Les clés jouent un rôle majeur lorsque des JOINs sont utilisés.
10. Quels sont les types de jointure et expliquez-les chacun?
Il existe différents types de jointure qui peuvent être utilisés pour récupérer des données et cela dépend de la relation entre les tables.
- Jointure interne.
La jointure interne renvoie des lignes lorsqu'il y a au moins une correspondance de lignes entre les tables.
- Joindre à droite.
Joindre à droite les lignes de retour qui sont communes entre les tables et toutes les lignes de la table de droite. Simplement, il renvoie toutes les lignes de la table de droite même s'il n'y a pas de correspondance dans la table de gauche.
- Joint gauche.
Joindre à gauche les lignes de retour qui sont communes entre les tables et toutes les lignes de la table de gauche. Simplement, il renvoie toutes les lignes de la table latérale gauche même s'il n'y a aucune correspondance dans la table latérale droite.
- Joindre complet.
La jointure complète renvoie des lignes lorsqu'il existe des lignes correspondantes dans l'une des tables. Cela signifie qu'il renvoie toutes les lignes de la table de gauche et toutes les lignes de la table de droite.
11. Qu'est-ce que la normalisation?
La normalisation est le processus de minimisation de la redondance et de la dépendance en organisant les champs et la table d'une base de données. L'objectif principal de la normalisation est d'ajouter, de supprimer ou de modifier un champ qui peut être créé dans une seule table.
12. Qu'est-ce que la dénormalisation?
La déNormalisation est une technique utilisée pour accéder aux données des formes normales supérieures à inférieures de base de données. Il s'agit également d'un processus d'introduction de la redondance dans une table en incorporant les données des tables associées.
13. Quelles sont toutes les différentes normalisations?
Les formes normales peuvent être divisées en 5 formes, et elles sont expliquées ci-dessous -.
- Première forme normale (1NF):.
Cela devrait supprimer toutes les colonnes en double de la table. Création de tableaux pour les données associées et identification de colonnes uniques.
- Deuxième forme normale (2NF):.
Répondre à toutes les exigences de la première forme normale. Placement des sous-ensembles de données dans des tables séparées et création de relations entre les tables à l'aide de clés primaires.
- Troisième forme normale (3NF):.
Cela devrait répondre à toutes les exigences de 2NF. Suppression des colonnes qui ne dépendent pas des contraintes de clé primaire.
- Quatrième forme normale (4NF):.
Répondant à toutes les exigences de la troisième forme normale et ne devrait pas avoir de dépendances à valeurs multiples.
14. Qu'est-ce qu'une vue?
Une vue est une table virtuelle qui se compose d'un sous-ensemble de données contenues dans une table. Les vues ne sont pratiquement pas présentes et le stockage prend moins de place. La vue peut avoir des données d'une ou plusieurs tables combinées, et cela dépend de la relation.
15. Qu'est-ce qu'un index?
Un index est une méthode de réglage des performances permettant une récupération plus rapide des enregistrements de la table. Un index crée une entrée pour chaque valeur et il sera plus rapide de récupérer les données.
16. Quels sont les différents types d'index?
Il existe trois types d'index -.
- Index unique.
Cette indexation ne permet pas au champ d'avoir des valeurs en double si la colonne est indexée de manière unique. L'index unique peut être appliqué automatiquement lorsque la clé primaire est définie.
- Index groupé.
Ce type d'index réorganise l'ordre physique de la table et recherche en fonction des valeurs de clé. Chaque table ne peut avoir qu'un seul index cluster.
- Index non groupé.
L'index non groupé ne modifie pas l'ordre physique de la table et maintient l'ordre logique des données. Chaque table peut avoir 999 index non clusterisés.
17. Qu'est-ce qu'un curseur?
Un curseur de base de données est un contrôle qui permet de parcourir les lignes ou les enregistrements de la table. Cela peut être vu comme un pointeur vers une ligne dans un ensemble de lignes. Le curseur est très utile pour parcourir comme la récupération, l'ajout et la suppression d'enregistrements de base de données.
18. Qu'est-ce qu'une relation et quelles sont-elles?
La relation de base de données est définie comme la connexion entre les tables d'une base de données. Il existe diverses relations de base de données, et elles sont les suivantes:.
- Relation un à un.
- Relation un à plusieurs.
- Relation plusieurs à un.
- Relation d'auto-référencement.
19. Qu'est-ce qu'une requête?
Une requête DB est un code écrit afin de récupérer les informations de la base de données. La requête peut être conçue de manière à correspondre à nos attentes concernant le jeu de résultats. Simplement, une question à la base de données.
20. Qu'est-ce qu'une sous-requête?
Une sous-requête est une requête dans une autre requête. La requête externe est appelée comme requête principale et la requête interne est appelée sous-requête. La sous-requête est toujours exécutée en premier et le résultat de la sous-requête est transmis à la requête principale.
21. Quels sont les types de sous-requête?
Il existe deux types de sous-requête: corrélée et non corrélée.
Une sous-requête corrélée ne peut pas être considérée comme une requête indépendante, mais elle peut faire référence à la colonne dans une table répertoriée dans la liste FROM de la requête principale.
Une sous-requête non corrélée peut être considérée comme une requête indépendante et la sortie de la sous-requête est remplacée dans la requête principale.
22. Qu'est-ce qu'une procédure stockée?
La procédure stockée est une fonction composée de nombreuses instructions SQL pour accéder au système de base de données. Plusieurs instructions SQL sont consolidées dans une procédure stockée et les exécutent à tout moment et en tout lieu.
23. Qu'est-ce qu'un déclencheur?
Un déclencheur de base de données est un code ou des programmes qui s'exécutent automatiquement en réponse à un événement sur une table ou une vue dans une base de données. Principalement, le déclencheur aide à maintenir l'intégrité de la base de données.
Exemple: Lorsqu'un nouvel étudiant est ajouté à la base de données des étudiants, de nouveaux enregistrements doivent être créés dans les tables associées telles que les tables d'examen, de score et de présence.
24. Quelle est la différence entre les commandes DELETE et TRUNCATE?
La commande DELETE est utilisée pour supprimer des lignes de la table et la clause WHERE peut être utilisée pour un ensemble conditionnel de paramètres. La validation et la restauration peuvent être effectuées après l'instruction de suppression.
TRUNCATE supprime toutes les lignes de la table. L'opération tronquer ne peut pas être annulée.
25. Quelles sont les variables locales et globales et leurs différences?
Les variables locales sont les variables qui peuvent être utilisées ou qui existent à l'intérieur de la fonction. Elles ne sont pas connues des autres fonctions et ces variables ne peuvent pas être référencées ou utilisées. Des variables peuvent être créées chaque fois que cette fonction est appelée.
Les variables globales sont les variables qui peuvent être utilisées ou qui existent dans tout le programme. La même variable déclarée dans global ne peut pas être utilisée dans les fonctions. Les variables globales ne peuvent pas être créées chaque fois que cette fonction est appelée.
26. Qu'est-ce qu'une contrainte?
La contrainte peut être utilisée pour spécifier la limite du type de données de la table. Une contrainte peut être spécifiée lors de la création ou de la modification de l'instruction de table. Exemple de contrainte.
- PAS NULL.
- CHÈQUE.
- DÉFAUT.
- UNIQUE.
- CLÉ PRIMAIRE.
- CLÉ ÉTRANGÈRE.
27. Qu'est-ce que l'intégrité des données?
L'intégrité des données définit la précision et la cohérence des données stockées dans une base de données. Il peut également définir des contraintes d'intégrité pour appliquer des règles métier aux données lors de leur saisie dans l'application ou la base de données.
28. Qu'est-ce que l'incrémentation automatique?
Le mot clé d'incrémentation automatique permet à l'utilisateur de créer un numéro unique à générer lorsqu'un nouvel enregistrement est inséré dans la table. Le mot clé AUTO INCREMENT peut être utilisé dans Oracle et le mot clé IDENTITY peut être utilisé dans SQL SERVER.
La plupart du temps, ce mot-clé peut être utilisé chaque fois que PRIMARY KEY est utilisé.
29. Quelle est la différence entre un Cluster et un Non-Cluster Index?
L'index clusterisé est utilisé pour extraire facilement les données de la base de données en modifiant la façon dont les enregistrements sont stockés. La base de données trie les lignes en fonction de la colonne définie pour être un index clusterisé.
Un index non clusterisé ne modifie pas la façon dont il a été stocké mais crée un objet séparé complet dans la table. Il pointe vers les lignes de la table d'origine après la recherche.
30. Qu'est-ce que Datawarehouse?
Datawarehouse est un référentiel central de données provenant de plusieurs sources d'informations. Ces données sont consolidées, transformées et mises à disposition pour l'extraction et le traitement en ligne. Les données d'entrepôt ont un sous-ensemble de données appelé Data Marts.
31. Qu'est-ce que l'auto-adhésion?
L'auto-jointure est définie comme une requête utilisée pour se comparer à elle-même. Ceci est utilisé pour comparer les valeurs d'une colonne avec d'autres valeurs de la même colonne de la même table. ALIAS ES peut être utilisé pour la même comparaison de table.
32. Qu'est-ce que la jointure croisée?
La jointure croisée est définie comme un produit cartésien où le nombre de lignes dans la première table est multiplié par le nombre de lignes dans la deuxième table. Si supposons que la clause WHERE soit utilisée dans les jointures croisées, la requête fonctionnera comme une INNER JOIN.
33. Qu'est-ce que les fonctions définies par l'utilisateur?
Les fonctions définies par l'utilisateur sont les fonctions écrites pour utiliser cette logique chaque fois que nécessaire. Il n'est pas nécessaire d'écrire plusieurs fois la même logique. Au lieu de cela, la fonction peut être appelée ou exécutée chaque fois que nécessaire.
34. Quels sont tous les types de fonctions définies par l'utilisateur?
Trois types de fonctions définies par l'utilisateur sont.
- Fonctions scalaires.
- Fonctions valorisées par table en ligne.
- Fonctions valorisées à plusieurs instructions.
Unité de retour scalaire, la variante a défini la clause de retour. Les deux autres types retournent la table en retour.
35. Qu'est-ce que la collation?
Le classement est défini comme un ensemble de règles qui déterminent comment les données de caractère peuvent être triées et comparées. Cela peut être utilisé pour comparer A et, d'autres caractères de langue et dépend également de la largeur des caractères.
La valeur ASCII peut être utilisée pour comparer ces données de caractères.
36. Quels sont les différents types de sensibilité de collation?
Voici différents types de sensibilité de classement -.
- Sensibilité à la casse - A et a et B et b.
- Sensibilité accentuée.
- Sensibilité Kana - caractères japonais Kana.
- Sensibilité à la largeur - Caractère à un octet et caractère à deux octets.
37. Avantages et inconvénients de la procédure stockée?
La procédure stockée peut être utilisée comme une programmation modulaire - signifie créer une fois, stocker et appeler plusieurs fois chaque fois que nécessaire. Cela prend en charge une exécution plus rapide au lieu d'exécuter plusieurs requêtes. Cela réduit le trafic réseau et offre une meilleure sécurité des données.
L'inconvénient est qu'il ne peut être exécuté que dans la base de données et utilise plus de mémoire dans le serveur de base de données.
38. Qu'est-ce que le traitement des transactions en ligne (OLTP)?
Le traitement des transactions en ligne (OLTP) gère les applications basées sur les transactions qui peuvent être utilisées pour la saisie de données, la récupération de données et le traitement des données. OLTP rend la gestion des données simple et efficace. Contrairement aux systèmes OLAP, l'objectif des systèmes OLTP est de servir les transactions en temps réel.
Exemple - Transactions bancaires sur une base quotidienne.
39. Qu'est-ce que CLAUSE?
La clause SQL est définie pour limiter le jeu de résultats en fournissant une condition à la requête. Cela filtre généralement certaines lignes de l'ensemble des enregistrements.
Exemple - Requête qui a la condition WHERE
Requête qui a la condition HAVING.
40. Qu'est-ce qu'une procédure stockée récursive?
Une procédure stockée qui appelle par elle-même jusqu'à ce qu'elle atteigne une condition aux limites. Cette fonction ou procédure récursive aide les programmeurs à utiliser le même jeu de code un nombre illimité de fois.
41. Qu'est-ce que les commandes Union, moins et Interact?
L'opérateur UNION est utilisé pour combiner les résultats de deux tables et il élimine les lignes dupliquées des tables.
L'opérateur MINUS est utilisé pour renvoyer les lignes de la première requête mais pas de la seconde requête. Les enregistrements correspondants de la première et de la deuxième requête et d'autres lignes de la première requête seront affichés en tant que jeu de résultats.
L'opérateur INTERSECT est utilisé pour renvoyer les lignes renvoyées par les deux requêtes.
42. Qu'est-ce qu'une commande ALIAS?
Le nom ALIAS peut être donné à une table ou une colonne. Ce nom d'alias peut être référencé dans la clause WHERE pour identifier la table ou la colonne.
Exemple-.
Select st.StudentID, Ex.Result from student st, Exam as Ex where st.studentID = Ex. StudentID
Ici, st fait référence au nom d'alias de la table des élèves et Ex fait référence au nom d'alias de la table d'examen.
43. Quelle est la différence entre les instructions TRUNCATE et DROP?
TRUNCATE supprime toutes les lignes de la table et ne peut pas être annulée. La commande DROP supprime une table de la base de données et l'opération ne peut pas être annulée.
44. Que sont les fonctions agrégées et scalaires?
Les fonctions d'agrégation sont utilisées pour évaluer le calcul mathématique et renvoyer des valeurs uniques. Cela peut être calculé à partir des colonnes d'un tableau. Les fonctions scalaires renvoient une valeur unique basée sur la valeur d'entrée.
Exemple -.
Aggregate - max (), count - Calculé par rapport à numérique.
Scalaire - UCASE (), NOW () - Calculé par rapport aux chaînes.
45. Comment créer une table vide à partir d'une table existante?
L'exemple sera -.
Select * into studentcopy from student where 1=2
Ici, nous copions la table des étudiants dans une autre table avec la même structure sans lignes copiées.
46. Comment récupérer des enregistrements communs à partir de deux tables?
L'ensemble de résultats des enregistrements communs peut être obtenu par -.
Select studentID from student INTERSECT Select StudentID from Exam
47. Comment récupérer des enregistrements alternatifs à partir d'une table?
Les enregistrements peuvent être récupérés pour les numéros de ligne pairs et impairs -.
Pour afficher des nombres pairs-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=0
Pour afficher les nombres impairs-.
Select studentId from (Select rowno, studentId from student) where mod(rowno,2)=1
from (Sélectionnez rowno, studentId from student) où mod (rowno, 2) = 1. [/ sql]
48. Comment sélectionner des enregistrements uniques dans une table?
Sélectionnez des enregistrements uniques dans une table à l'aide du mot clé DISTINCT.
Select DISTINCT StudentID, StudentName from Student.
49. Quelle est la commande utilisée pour récupérer les 5 premiers caractères de la chaîne?
Il existe de nombreuses façons de récupérer les 5 premiers caractères de la chaîne -.
Select SUBSTRING(StudentName,1,5) as studentname from student
Select LEFT(Studentname,5) as studentname from student
50. Quel opérateur est utilisé dans la requête pour la correspondance de modèles?
L'opérateur LIKE est utilisé pour la correspondance de modèle, et il peut être utilisé comme -.
- % - Correspond à zéro ou plusieurs caractères.
- _ (Trait de soulignement) - Correspond à exactement un caractère.
Exemple -.
Select * from Student where studentname like 'a%'
Select * from Student where studentname like 'ami_'