top 90 sql interview questions
90 questions et réponses d'entretien SQL les plus populaires:
Ce sont les questions d'entretien SQL les plus courantes et les plus utiles pour les nouveaux arrivants ainsi que pour les candidats expérimentés. Les bases des concepts avancés de SQL sont abordées dans cet article.
Reportez-vous à ces questions pour une révision rapide des principaux concepts SQL avant de vous présenter à un entretien.
Meilleures questions d'entretien SQL
Commençons.
Q # 1) Qu'est-ce que SQL?
Répondre: Structured Query Language SQL est un outil de base de données utilisé pour créer et accéder à la base de données pour prendre en charge les applications logicielles.
Q # 2) Que sont les tables en SQL?
Répondre: La table est une collection d'enregistrements et de ses informations dans une seule vue.
Q # 3) Quels sont les différents types d'instructions pris en charge par SQL?
Répondre:
Il existe 3 types d'instructions SQL:
a) DDL (Data Definition Language): Il est utilisé pour définir la structure de la base de données telle que les tables. Il comprend trois instructions telles que CREATE, ALTER et DROP.
Lire aussi = >> Tutoriel MySQL Create Table
Certaines des commandes DDL sont répertoriées ci-dessous:
CRÉER : Il est utilisé pour créer la table.
CREATE TABLE table_name column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size),
ÂGE: La table ALTER est utilisée pour modifier l'objet table existant dans la base de données.
ALTER TABLE table_name ADD column_name datatype
OU
ALTER TABLE table_name DROP COLUMN column_name
b) DML (Data Manipulation Language): Ces instructions sont utilisées pour manipuler les données dans les enregistrements. Les instructions DML couramment utilisées sont INSERT, UPDATE et DELETE.
L'instruction SELECT est utilisée comme une instruction DML partielle, utilisée pour sélectionner tous les enregistrements ou les enregistrements pertinents dans la table.
c) DCL (Data Control Language): Ces instructions sont utilisées pour définir des privilèges tels que l'autorisation d'accès à la base de données GRANT et REVOKE à l'utilisateur spécifique .
Q # 4) Comment utilisons-nous l'instruction DISTINCT? Quelle est son utilité?
Répondre: L'instruction DISTINCT est utilisée avec l'instruction SELECT. Si l'enregistrement contient des valeurs en double, l'instruction DISTINCT est utilisée pour sélectionner différentes valeurs parmi les enregistrements en double.
Syntaxe:
SELECT DISTINCT column_name(s) FROM table_name;
Q # 5) Quelles sont les différentes clauses utilisées dans SQL?
Répondre:
Clause WHERE: Cette clause est utilisée pour définir la condition, extraire et afficher uniquement les enregistrements qui remplissent la condition donnée.
Syntaxe:
SELECT column_name(s) FROM table_name WHERE condition;
Clause GROUP BY: Il est utilisé avec l'instruction SELECT pour regrouper le résultat de la requête exécutée en utilisant la valeur qui y est spécifiée. Il correspond à la valeur avec le nom de la colonne dans les tables et regroupe le résultat final en conséquence.
Lectures complémentaires => Tutoriel MySQL Group By
Syntaxe:
SELECT column_name(s) FROM table_name GROUP BY column_name;
Clause HAVING: Cette clause est utilisée en association avec la clause GROUP BY. Il est appliqué à chaque groupe de résultats ou au résultat entier en tant que groupe unique. Elle est très similaire à la clause WHERE mais la seule différence est que vous ne pouvez pas l'utiliser sans la clause GROUP BY
qu'est-ce qu'un fichier .swf?
Syntaxe:
SELECT column_name(s) FROM table_name GROUP BY column_name HAVING condition;
Clause ORDER BY: Cette clause est utilisée pour définir l'ordre de la sortie de la requête en ordre croissant (ASC) ou décroissant (DESC). Croissant (ASC) est défini par défaut mais décroissant (DESC) est défini explicitement.
Syntaxe:
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
Clause USING: La clause USING est utilisée lors de l'utilisation de SQL JOIN. Il est utilisé pour vérifier l'égalité en fonction des colonnes lorsque les tables sont jointes. Il peut être utilisé à la place de la clause ON dans JOIN.
Syntaxe:
SELECT column_name(s) FROM table_name JOIN table_name USING (column_name);
Q # 6) Pourquoi utilisons-nous des contraintes SQL? Quelles contraintes pouvons-nous utiliser lors de la création d'une base de données en SQL?
Répondre: Les contraintes sont utilisées pour définir les règles de tous les enregistrements de la table. Si une contrainte est violée, il peut abandonner l'action qui l'a provoquée.
Les contraintes sont définies lors de la création de la base de données elle-même avec l'instruction CREATE TABLE ou même après la création de la table une fois avec l'instruction ALTER TABLE.
Il y a 5 contraintes majeures utilisées dans SQL, telles que
- PAS NULL: Cela indique que la colonne doit avoir une valeur et ne peut pas être laissée NULL.
- UNIQUE: Cette contrainte est utilisée pour garantir que chaque ligne et colonne a une valeur unique et qu'aucune valeur n'est répétée dans une autre ligne ou colonne.
- CLÉ PRIMAIRE: Cette contrainte est utilisée en association avec les contraintes NOT NULL et UNIQUE telles que sur une ou la combinaison de plusieurs colonnes pour identifier l'enregistrement particulier avec une identité unique.
- CLÉ ÉTRANGÈRE: Il est utilisé pour garantir l'intégrité référentielle des données du tableau. Il fait correspondre la valeur d'une table avec une autre en utilisant la CLÉ PRIMAIRE.
- CHÈQUE: Il vérifie si la valeur des colonnes remplit la condition spécifiée.
Q # 7) Quelles sont les différentes JOINS utilisées dans SQL?
Répondre:
4 principaux types de jointures sont utilisés lorsque vous travaillez sur plusieurs tables dans des bases de données SQL:
JOINTURE INTERNE: Il est également connu sous le nom de SIMPLE JOIN qui renvoie toutes les lignes des DEUX tables lorsqu'il a au moins une colonne correspondante.
Syntaxe:
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON column_name1=column_name2;
Par exemple,
Dans cet exemple, nous avons une table Employé avec les données suivantes:
Le nom de la deuxième table est Joindre.
Entrez l'instruction SQL suivante:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee INNER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Il y aura 4 enregistrements sélectionnés. Les résultats sont:
Employé et Ordres les tables ont une correspondance N ° de client évaluer.
JOINTURE GAUCHE (JOINTURE EXTÉRIEURE GAUCHE): Cette jointure renvoie toutes les lignes de la table LEFT et ses lignes correspondantes d'une table RIGHT .
Syntaxe:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON column_name1=column_name2;
Par exemple,
Dans cet exemple, nous avons une table Employé avec les données suivantes:
Le nom de la deuxième table est Joindre.
Entrez l'instruction SQL suivante:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee LEFT OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Il y aura 4 enregistrements sélectionnés. Vous verrez les résultats suivants:
JOINTURE DROITE (JOINTURE EXTÉRIEURE DROITE): Cette jointure renvoie toutes les lignes de la table RIGHT et ses lignes correspondantes de la table LEFT .
Syntaxe:
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON column_name1=column_name2;
Par exemple,
Dans cet exemple, nous avons une table Employé avec les données suivantes:
Le nom de la deuxième table est Joindre.
Entrez l'instruction SQL suivante:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee RIGHT JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Production:
Emp_id | Date d'inscription |
---|---|
E0012 | 18/04/2016 |
E0013 | 19/04/2016 |
E0014 | 01/05/2016 |
FULL JOIN (FULL OUTER JOIN): Cette jointure renvoie tous les résultats lorsqu'il y a une correspondance dans la table RIGHT ou dans la table LEFT .
Syntaxe:
SELECT column_name(s) FROM table_name1 FULL OUTER JOIN table_name2 ON column_name1=column_name2;
Par exemple,
Dans cet exemple, nous avons une table Employé avec les données suivantes:
Le nom de la deuxième table est Joindre.
Entrez l'instruction SQL suivante:
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee FULL OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
Il y aura 8 enregistrements sélectionnés. Ce sont les résultats que vous devriez voir.
À lso Lire => Tutoriel de jointure MySQL
Q # 8) Que sont les transactions et leurs contrôles?
Répondre: Une transaction peut être définie comme la tâche de séquence qui est effectuée sur les bases de données de manière logique pour obtenir certains résultats. Les opérations telles que la création, la mise à jour, la suppression d'enregistrements effectuées dans la base de données proviennent de transactions.
En termes simples, nous pouvons dire qu'une transaction désigne un groupe de requêtes SQL exécutées sur des enregistrements de base de données.
Il existe 4 contrôles de transaction tels que
- S'ENGAGER : Il est utilisé pour enregistrer toutes les modifications apportées via la transaction.
- RETOUR EN ARRIERE : Il est utilisé pour annuler la transaction. Toutes les modifications apportées par la transaction sont annulées et la base de données reste inchangée.
- RÉGLER LA TRANSACTION : Définissez le nom de la transaction.
- SAVEPOINT: Il est utilisé pour définir le point où la transaction doit être annulée.
Q # 9) Quelles sont les propriétés de la transaction?
Répondre: Les propriétés de la transaction sont appelées propriétés ACID. Ceux-ci sont:
- Atomicité : Garantit l'exhaustivité de toutes les transactions effectuées. Vérifie si chaque transaction est terminée avec succès ou non. Sinon, la transaction est abandonnée au point d'échec et la transaction précédente est restaurée à son état initial lorsque les modifications sont annulées.
- Cohérence : Garantit que toutes les modifications apportées via des transactions réussies sont correctement reflétées dans la base de données.
- Isolement : Garantit que toutes les transactions sont effectuées indépendamment et que les modifications apportées par une transaction ne sont pas répercutées sur les autres.
- Durabilité : Garantit que les modifications apportées à la base de données avec des transactions validées persistent telles quelles, même après une défaillance du système.
Q # 10) Combien de fonctions d'agrégation sont disponibles dans SQL?
Répondre: Les fonctions SQL Aggregate déterminent et calculent les valeurs de plusieurs colonnes dans une table et renvoient une seule valeur.
Il existe 7 fonctions d'agrégation dans SQL:
- AVG (): Renvoie la valeur moyenne des colonnes spécifiées.
- COMPTER(): Renvoie le nombre de lignes du tableau.
- MAX (): Renvoie la plus grande valeur parmi les enregistrements.
- MIN (): Renvoie la plus petite valeur parmi les enregistrements.
- SOMME(): Renvoie la somme des valeurs de colonne spécifiées.
- PREMIÈRE(): Renvoie la première valeur.
- DERNIER(): Renvoie la dernière valeur.
Q # 11) Que sont les fonctions scalaires dans SQL?
Répondre: Les fonctions scalaires sont utilisées pour renvoyer une valeur unique basée sur les valeurs d'entrée.
Les fonctions scalaires sont les suivantes:
- UCASE (): Convertit le champ spécifié en majuscules.
- LCASE (): Convertit le champ spécifié en minuscules.
- MILIEU(): Extrait et renvoie le caractère du champ de texte.
- FORMAT(): Spécifie le format d'affichage.
- LEN (): Spécifie la longueur du champ de texte.
- ROND(): Arrondit la valeur du champ décimal en un nombre.
Q # 12) Que sont les déclencheurs ?
Répondre: Les déclencheurs en SQL sont des types de procédures stockées utilisées pour créer une réponse à une action spécifique effectuée sur la table telle que INSERT, UPDATE ou DELETE. Vous pouvez invoquer des déclencheurs explicitement sur la table de la base de données.
L'action et l'événement sont deux composants principaux des déclencheurs SQL. Lorsque certaines actions sont effectuées, l'événement se produit en réponse à cette action.
Syntaxe:
CREATE TRIGGER name BEFORE (event (OR..)} ON table_name (FOR (EACH) ROW) EXECUTE PROCEDURE functionname {arguments}
Q # 13) Qu'est-ce que View dans SQL?
Répondre: Une vue peut être définie comme une table virtuelle contenant des lignes et des colonnes avec des champs d'une ou plusieurs tables.
S yntax:
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Q # 14) Comment pouvons-nous mettre à jour la vue?
Répondre: SQL CREATE et REPLACE peuvent être utilisés pour mettre à jour la vue.
Exécutez la requête ci-dessous pour mettre à jour la vue créée.
Syntaxe:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Q # 15) Expliquez le fonctionnement des privilèges SQL?
Répondre: Les commandes SQL GRANT et REVOKE sont utilisées pour implémenter des privilèges dans des environnements SQL à plusieurs utilisateurs. L'administrateur de la base de données peut accorder ou révoquer des privilèges aux utilisateurs ou aux utilisateurs d'objets de base de données en utilisant des commandes telles que SELECT, INSERT, UPDATE, DELETE, ALL, etc.
Commande GRANT : Cette commande est utilisée pour fournir un accès à la base de données à des utilisateurs autres que l'administrateur.
Syntaxe:
GRANT privilege_name ON object_name TO PUBLIC (WITH GRANT OPTION);
Dans la syntaxe ci-dessus, l'option GRANT indique que l'utilisateur peut également accorder l'accès à un autre utilisateur.
Commande REVOKE : Cette commande est utilisée pour refuser ou supprimer l'accès à des objets de base de données.
Syntaxe:
REVOKE privilege_name ON object_name FROM PUBLIC;
Q # 16) Combien de types de privilèges sont disponibles dans SQL?
Répondre: Il existe deux types de privilèges utilisés dans SQL, tels que
- Privilège système: Le privilège système traite l'objet d'un type particulier et donne aux utilisateurs le droit d'exécuter une ou plusieurs actions sur celui-ci. Ces actions incluent l'exécution de tâches administratives, ALTER ANY INDEX, ALTER ANY CACHE GROUP CREATE / ALTER / DELETE TABLE, CREATE / ALTER / DELETE VIEW etc.
- Privilège d'objet: Cela permet d'effectuer des actions sur un objet ou un objet d'un autre utilisateur (s) à savoir. table, vue, index, etc. Certains des privilèges d'objet sont EXECUTER, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES etc.
Q # 17) Qu'est-ce que l'injection SQL?
Répondre: L'injection SQL est un type de technique d'attaque de base de données où des instructions SQL malveillantes sont insérées dans un champ d'entrée de la base de données de manière à ce qu'une fois exécutée, la base de données soit exposée à un attaquant pour l'attaque. Cette technique est généralement utilisée pour attaquer les applications basées sur les données pour avoir accès à des données sensibles et effectuer des tâches administratives sur des bases de données.
Par exemple,
SELECT column_name(s) FROM table_name WHERE condition;
Q # 18) Qu'est-ce que SQL Sandbox dans SQL Server?
Répondre: SQL Sandbox est un endroit sûr dans l'environnement de serveur SQL où des scripts non approuvés sont exécutés. Il existe 3 types de sandbox SQL:
- Bac à sable Safe Access: Ici, un utilisateur peut effectuer des opérations SQL telles que la création de procédures stockées, de déclencheurs, etc. mais ne peut pas avoir accès à la mémoire ni créer de fichiers.
- Bac à sable d'accès externe: Les utilisateurs peuvent accéder aux fichiers sans avoir le droit de manipuler l'allocation de mémoire.
- Sandbox d'accès non sécurisé: Cela contient des codes non approuvés où un utilisateur peut avoir accès à la mémoire.
Q # 19) Quelle est la différence entre SQL et PL / SQL?
Répondre: SQL est un langage de requête structuré pour créer et accéder aux bases de données, tandis que PL / SQL est livré avec des concepts procéduraux de langages de programmation.
Q # 20) Quelle est la différence entre SQL et MySQL?
Répondre: SQL est un langage de requête structuré utilisé pour manipuler et accéder à la base de données relationnelle. D'autre part, MySQL lui-même est une base de données relationnelle qui utilise SQL comme langage de base de données standard.
Q # 21) Quelle est l'utilisation de la fonction NVL?
Répondre: La fonction NVL est utilisée pour convertir la valeur nulle en sa valeur réelle.
Q # 22) Quel est le produit cartésien du tableau?
Répondre: La sortie de Cross Join est appelée un produit cartésien. Il renvoie des lignes combinant chaque ligne de la première table avec chaque ligne de la seconde table. Par exemple, si nous joignons deux tables de 15 et 20 colonnes, le produit cartésien de deux tables sera 15 × 20 = 300 lignes.
Q # 23) Qu'entendez-vous par sous-requête?
Répondre: La requête dans une autre requête est appelée sous-requête. Une sous-requête est appelée requête interne qui renvoie la sortie qui doit être utilisée par une autre requête.
Q # 24) Combien d'opérateurs de comparaison de lignes sont utilisés lorsque vous travaillez avec une sous-requête?
Répondre: Il existe des opérateurs de comparaison à 3 lignes qui sont utilisés dans les sous-requêtes telles que IN, ANY et ALL.
Q # 25) Quelle est la différence entre les index clusterisés et non clusterisés?
Réponse: Les différences entre les deux sont les suivantes:
- Une table ne peut avoir qu'un seul index cluster mais plusieurs index non clusterisés.
- Les index clusterisés peuvent être lus rapidement plutôt que les index non groupés.
- Les index clusterisés stockent les données physiquement dans la table ou la vue, tandis que les index non clusterisés ne stockent pas les données dans la table car il a une structure distincte de la ligne de données.
Q # 26) Quelle est la différence entre DELETE et TRUNCATE?
Réponse: Les différences sont:
- La différence fondamentale entre les deux est que la commande DELETE est la commande DML et la commande TRUNCATE est DDL.
- La commande DELETE est utilisée pour supprimer une ligne spécifique de la table tandis que la commande TRUNCATE est utilisée pour supprimer toutes les lignes de la table.
- Nous pouvons utiliser la commande DELETE avec la clause WHERE mais ne pouvons pas utiliser la commande TRUNCATE avec elle.
Q # 27) Quelle est la différence entre DROP et TRUNCATE?
comment utiliser assert en c ++
Répondre: TRUNCATE supprime toutes les lignes de la table qui ne peuvent pas être récupérées, DROP supprime la table entière de la base de données et elle ne peut pas non plus être récupérée.
Q # 28) Comment écrire une requête pour afficher les détails d'un étudiant de la table Students
le nom commence par K?
Réponse: Requête:
SELECT * FROM Student WHERE Student_Name like ‘K%’;
Ici, l'opérateur «like» est utilisé pour effectuer une correspondance de modèle.
Q # 29) Quelle est la différence entre la sous-requête imbriquée et la sous-requête corrélée?
Répondre: La sous-requête dans une autre sous-requête est appelée sous-requête imbriquée. Si la sortie d'une sous-requête dépend des valeurs de colonne de la table de requête parente, la requête est appelée Sous-requête corrélée.
SELECT adminid(SELEC Firstname+' '+Lastname FROM Employee WHERE empid=emp. adminid)AS EmpAdminId FROM Employee;
Le résultat de la requête est les détails d'un employé de la table Employé.
Q # 30) Qu'est-ce que la normalisation? Combien de formulaires de normalisation existe-t-il?
Répondre: La normalisation est utilisée pour organiser les données de telle manière que la redondance des données ne se produise jamais dans la base de données et évite les anomalies d'insertion, de mise à jour et de suppression.
Il existe 5 formes de normalisation:
- Première forme normale (1NF): Il supprime toutes les colonnes en double de la table. Il crée une table pour les données associées et identifie les valeurs de colonne uniques.
- Première forme normale (2NF): Suit 1NF et crée et place des sous-ensembles de données dans une table individuelle et définit la relation entre les tables à l'aide de la clé primaire.
- Troisième forme normale (3NF): Suit 2NF et supprime les colonnes qui ne sont pas liées via la clé primaire.
- Quatrième forme normale (4NF): Suit 3NF et ne définit pas les dépendances à valeurs multiples. 4NF est également connu sous le nom de BCNF.
Q # 31) Qu'est-ce qu'une relation? Combien de types de relations existe-t-il?
Répondre: La relation peut être définie comme la connexion entre plusieurs tables de la base de données.
Il existe 4 types de relations:
- Relation un à un
- Relation plusieurs à un
- Relation plusieurs à plusieurs
- Relation un à plusieurs
Q # 32) Qu'entendez-vous par procédures stockées? Comment l'utilisons-nous?
Répondre: Une procédure stockée est une collection d'instructions SQL qui peuvent être utilisées comme fonction pour accéder à la base de données. Nous pouvons créer ces procédures stockées plus tôt avant de les utiliser et les exécuter partout où cela est nécessaire en leur appliquant une logique conditionnelle. Les procédures stockées sont également utilisées pour réduire le trafic réseau et améliorer les performances.
Syntaxe:
CREATE Procedure Procedure_Name ( //Parameters ) AS BEGIN SQL statements in stored procedures to update/retrieve records END
Q # 33) Énoncez certaines propriétés des bases de données relationnelles?
Réponse: Les propriétés sont les suivantes:
- Dans les bases de données relationnelles, chaque colonne doit avoir un nom unique.
- La séquence des lignes et des colonnes dans les bases de données relationnelles est insignifiante.
- Toutes les valeurs sont atomiques et chaque ligne est unique.
Q # 34) Que sont les déclencheurs imbriqués?
Répondre: Les déclencheurs peuvent implémenter la logique de modification des données à l'aide des instructions INSERT, UPDATE et DELETE. Ces déclencheurs qui contiennent une logique de modification de données et trouvent d'autres déclencheurs pour la modification de données sont appelés déclencheurs imbriqués.
Q # 35) Qu'est-ce qu'un curseur?
Répondre: Un curseur est un objet de base de données utilisé pour manipuler des données d'une ligne à une autre.
Le curseur suit les étapes ci-dessous:
- Déclarer le curseur
- Ouvrir le curseur
- Récupérer la ligne du curseur
- Traiter la ligne
- Fermer le curseur
- Désallouer le curseur
Q # 36) Qu'est-ce que le classement?
Répondre: Le classement est un ensemble de règles qui vérifient comment les données sont triées en les comparant. Telles que les données de caractères sont stockées en utilisant la séquence de caractères correcte avec la sensibilité à la casse, le type et l'accent.
Q # 37) De quoi avons-nous besoin pour vérifier dans les tests de base de données?
Répondre: Dans les tests de base de données, les éléments suivants doivent être testés:
- Connectivité de base de données
- Vérification des contraintes
- Champ d'application requis et sa taille
- Récupération et traitement des données avec des opérations DML
- Procédures stockées
- Flux fonctionnel
Q # 38) Qu'est-ce que le test de la boîte blanche de base de données?
Répondre: Le test de la boîte blanche de base de données implique:
- Cohérence de la base de données et propriétés ACID
- Déclencheurs de base de données et vues logiques
- Couverture de décision, couverture de condition et couverture de relevé
- Tables de base de données, modèle de données et schéma de base de données
- Règles d'intégrité référentielle
Q # 39) Qu'est-ce que le test de la boîte noire de base de données?
Répondre: Le test de la boîte noire de base de données implique:
- Cartographie des données
- Données stockées et récupérées
- Utilisation de techniques de test Black Box telles que le partitionnement d'équivalence et l'analyse de la valeur aux limites (BVA)
Q # 40) Que sont les index en SQL?
Répondre: L'index peut être défini comme le moyen de récupérer les données plus rapidement. Nous pouvons définir des index à l'aide d'instructions CREATE.
Syntaxe:
CREATE INDEX index_name ON table_name (column_name)
De plus, nous pouvons également créer un index unique en utilisant la syntaxe suivante:
CREATE UNIQUE INDEX index_name ON table_name (column_name)
METTRE À JOUR: Nous avons ajouté quelques questions plus courtes pour la pratique.
Q # 41) Que signifie SQL?
Répondre: SQL signifie Langage de requêtes structurées .
Q # 42) Comment sélectionner tous les enregistrements de la table?
Répondre: Pour sélectionner tous les enregistrements de la table, nous devons utiliser la syntaxe suivante:
Select * from table_name;
Q # 43) Définir la jointure et nommer différents types de jointure?
Répondre: Le mot clé Join est utilisé pour récupérer des données à partir d'au moins deux tables associées. Il renvoie les lignes contenant au moins une correspondance dans les deux tables incluses dans la jointure. En savoir plus ici .
Les types de jointures sont:
- Jointure droite
- Jointure externe
- Joindre complet
- Jointure croisée
- Auto-rejoindre.
Q # 44) Quelle est la syntaxe pour ajouter un enregistrement à une table?
Répondre: Pour ajouter un enregistrement dans une table, la syntaxe INSERT est utilisée.
Par exemple,
INSERT into table_name VALUES (value1, value2..);
Q # 45) Comment ajouter une colonne à un tableau?
Répondre: Pour ajouter une autre colonne dans le tableau, utilisez la commande suivante:
ALTER TABLE table_name ADD (column_name);
Lecture recommandée = >> Comment faire ajouter une colonne à une table dans MySQL
Q # 46) Définissez l'instruction SQL DELETE.
Répondre: DELETE est utilisé pour supprimer une ou plusieurs lignes d'une table en fonction de la condition spécifiée.
La syntaxe de base est la suivante:
DELETE FROM table_name WHERE
Q # 47) Définir COMMIT?
Répondre: COMMIT enregistre toutes les modifications apportées par les instructions DML.
Q # 48) Quelle est la clé primaire?
Répondre: Une clé primaire est une colonne dont les valeurs identifient de manière unique chaque ligne d'une table. Les valeurs de clé primaire ne peuvent jamais être réutilisées.
Q # 49) Que sont les clés étrangères?
Répondre: Lorsqu'un champ de clé primaire d'une table est ajouté à des tables liées afin de créer le champ commun qui relie les deux tables, il appelle une clé étrangère dans d'autres tables. Les contraintes de clé étrangère renforcent l'intégrité référentielle.
Q # 50) Qu'est-ce que la contrainte CHECK?
Répondre: Une contrainte CHECK est utilisée pour limiter les valeurs ou le type de données qui peuvent être stockées dans une colonne. Ils sont utilisés pour renforcer l'intégrité du domaine.
Q # 51) Est-il possible pour une table d'avoir plus d'une clé étrangère?
Répondre: Oui, une table peut avoir plusieurs clés étrangères mais une seule clé primaire.
Q # 52) Quelles sont les valeurs possibles pour le champ de données BOOLEAN?
Répondre: Pour un champ de données BOOLEAN, deux valeurs sont possibles: -1 (vrai) et 0 (faux).
Q # 53) Qu'est-ce qu'une procédure stockée?
Répondre: Une procédure stockée est un ensemble de requêtes SQL qui peuvent prendre une entrée et renvoyer une sortie.
Q # 54) Qu'est-ce que l'identité en SQL?
Répondre: Une colonne d'identité dans laquelle SQL génère automatiquement des valeurs numériques. Nous pouvons définir une valeur de début et d'incrémentation de la colonne d'identité.
Q # 55) Qu'est-ce que la normalisation?
Répondre: Le processus de conception de table pour minimiser la redondance des données est appelé normalisation. Nous devons diviser une base de données en deux ou plusieurs tables et définir la relation entre elles.
Q # 56) Qu'est-ce qu'un déclencheur?
Répondre: Le déclencheur nous permet d'exécuter un lot de code SQL lorsqu'un événement de table se produit (les commandes INSERT, UPDATE ou DELETE sont exécutées sur une table spécifique).
Q # 57) Comment sélectionner des lignes aléatoires dans une table?
Répondre: En utilisant une clause SAMPLE, nous pouvons sélectionner des lignes aléatoires.
Par exemple,
SELECT * FROM table_name SAMPLE(10);
Q # 58) Quel port TCP / IP s'exécute SQL Server?
Répondre: Par défaut, SQL Server s'exécute sur le port 1433.
Q # 59) Écrire une requête SQL SELECT qui ne renvoie chaque nom qu'une seule fois à partir d'une table?
Répondre: Pour obtenir le résultat comme chaque nom une seule fois, nous devons utiliser le mot clé DISTINCT.
SELECT DISTINCT name FROM table_name;
Q # 60) Expliquez DML et DDL?
Répondre: DML signifie Data Manipulation Language. INSERT, UPDATE et DELETE sont des instructions DML.
DDL signifie Data Definition Language. CREATE, ALTER, DROP, RENAME sont des instructions DDL.
Q # 61) Pouvons-nous renommer une colonne dans la sortie de la requête SQL?
Répondre: Oui, en utilisant la syntaxe suivante, nous pouvons le faire.
SELECT column_name AS new_name FROM table_name;
Q # 62) Donnez l'ordre de SQL SELECT?
Répondre: L'ordre des clauses SQL SELECT est: SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY. Seules les clauses SELECT et FROM sont obligatoires.
Q # 63) Supposons qu'une colonne Student comporte deux colonnes, Name et Marks. Comment obtenir les noms et les notes des trois meilleurs étudiants.
Répondre: CHOISIR le nom, les marques FROM Student s1 où 3<= (SELECT COUNT(*) FROM Students s2 WHERE s1.marks = s2.marks)
Q # 64) Que sont les commentaires SQL?
Répondre: Les commentaires SQL peuvent être insérés en ajoutant deux tirets consécutifs (-).
Q # 65) Différence entre les commandes TRUNCATE, DELETE et DROP?
Répondre:
- EFFACER supprime certaines ou toutes les lignes d'une table en fonction de la condition. Il peut être annulé.
- TRONQUER supprime TOUTES les lignes d'une table en désallouant les pages de mémoire. L'opération ne peut pas être annulée
- LAISSEZ TOMBER La commande supprime complètement une table de la base de données.
Q # 66) Quelles sont les propriétés d'une transaction?
Répondre: Généralement, ces propriétés sont appelées propriétés ACID. Elles sont:
- Atomicité
- Cohérence
- Isolement
- Durabilité.
Q # 67) Qu'entendez-vous par ROWID?
Répondre: Il s’agit d’une pseudo-colonne de 18 caractères associée à chaque ligne d’un tableau.
Q # 68) Définissez UNION, MOINS, UNION TOUT, INTERSECT?
Répondre:
- MOINS - renvoie toutes les lignes distinctes sélectionnées par la première requête mais pas par la seconde.
- SYNDICAT - renvoie toutes les lignes distinctes sélectionnées par l'une ou l'autre des requêtes
- UNION TOUT - renvoie toutes les lignes sélectionnées par l'une ou l'autre des requêtes, y compris tous les doublons.
- COUPER - renvoie toutes les lignes distinctes sélectionnées par les deux requêtes.
Q # 69) Qu'est-ce qu'une transaction?
Répondre: Une transaction est une séquence de code qui s'exécute sur une base de données. Il fait passer la base de données d'un état cohérent à un autre.
Q # 70) Quelle est la différence entre les contraintes UNIQUE et PRIMARY KEY?
le meilleur téléchargeur mp3 gratuit pour android
Réponse: Les différences sont les suivantes:
- Une table ne peut avoir qu'une seule clé PRIMAIRE alors qu'il peut y avoir n'importe quel nombre de clés UNIQUE.
- La clé primaire ne peut pas contenir de valeurs Null alors que la clé Unique peut contenir des valeurs Null.
Q # 71) Qu'est-ce qu'une clé primaire composite?
Répondre: La clé primaire créée sur plusieurs colonnes est appelée clé primaire composite.
Q # 72) Qu'est-ce qu'un index?
Répondre: Un index est une structure spéciale associée à une table pour accélérer les performances des requêtes. L'index peut être créé sur une ou plusieurs colonnes d'une table.
Q # 73) Qu'est-ce que la sous-requête?
Répondre: Une sous-requête est un sous-ensemble d'instructions select dont les valeurs de retour sont utilisées dans les conditions de filtrage de la requête principale.
Q # 74) Qu'entendez-vous par optimisation des requêtes?
Répondre: L'optimisation des requêtes est un processus dans lequel un système de base de données compare différentes stratégies de requête et sélectionne la requête la moins coûteuse.
Q # 75) Qu'est-ce que le classement?
Répondre: Ensemble de règles qui définissent comment les données sont stockées, comment le respect de la casse et le caractère Kana peuvent être traités, etc.
Q # 76) Qu'est-ce que l'intégrité référentielle?
Répondre: Ensemble de règles qui restreignent les valeurs d'une ou plusieurs colonnes des tables en fonction des valeurs de la clé primaire ou de la clé unique de la table référencée.
Q # 77) Qu'est-ce que la fonction Case?
Répondre: Case facilite le type de logique if-then-else dans SQL. Il évalue une liste de conditions et renvoie l'une des multiples expressions de résultat possibles.
Q # 78) Définir une table temporaire?
Répondre: Une table temporaire est une structure de stockage temporaire pour stocker les données temporairement.
Q # 79) Comment pouvons-nous éviter de dupliquer des enregistrements dans une requête?
Répondre: En utilisant le mot clé DISTINCT, la duplication des enregistrements dans une requête peut être évitée.
Q # 80) Expliquez la différence entre Renommer et Alias?
Répondre: Renommer est un nom permanent donné à une table ou une colonne tandis que Alias est un nom temporaire donné à une table ou une colonne.
Q # 81) Qu'est-ce qu'une vue?
Répondre: Une vue est une table virtuelle qui contient des données d'une ou plusieurs tables. Les vues limitent l'accès aux données de la table en sélectionnant uniquement les valeurs requises et facilitent les requêtes complexes.
Q # 82) Quels sont les avantages de Views?
Réponse: Les avantages des vues sont:
- Les vues restreignent l'accès aux données car la vue peut afficher des colonnes sélectives de la table.
- Les vues peuvent être utilisées pour effectuer des requêtes simples afin de récupérer les résultats de requêtes complexes. Par exemple, Les vues peuvent être utilisées pour demander des informations à partir de plusieurs tables à l'insu de l'utilisateur.
Q # 83) Énumérez les divers privilèges qu'un utilisateur peut accorder à un autre utilisateur?
Répondre: CHOISISSEZ, CONNECTEZ, RESSOURCES.
Q # 84) Qu'est-ce que le schéma?
Répondre: Un schéma est une collection d'objets de base de données d'un utilisateur.
Q # 85) Qu'est-ce qu'une table?
Répondre: Une table est l'unité de base de stockage de données dans le système de gestion de base de données. Les données de table sont stockées dans des lignes et des colonnes.
Q # 86) La vue contient-elle des données?
Répondre: Non, les vues sont des structures virtuelles.
Q # 87) Une vue peut-elle être basée sur une autre vue?
Répondre: Oui, une vue est basée sur une autre vue.
Q # 88) Quelle est la différence entre la clause HAVING et la clause WHERE?
Répondre: Les deux spécifient une condition de recherche, mais la clause Have est utilisée uniquement avec l'instruction SELECT et généralement utilisée avec la clause GROUP BY.
Si la clause GROUP BY n'est pas utilisée, alors S'être comporté comme la clause WHERE uniquement.
Q # 89) Quelle est la différence entre les tables temporaires locales et globales?
Répondre: Si elle est définie à l'intérieur d'une instruction composée, une table temporaire locale existe uniquement pendant la durée de cette instruction, mais une table temporaire globale existe en permanence dans la base de données mais ses lignes disparaissent lorsque la connexion est fermée.
Q # 90) Qu'est-ce que le CTE?
Répondre: Une expression de table commune ou CTE est une expression qui contient un jeu de résultats temporaire qui est défini dans une instruction SQL.
Conclusion
SQL est un composant essentiel du système de base de données. Avoir une bonne connaissance de la base de données ainsi que des concepts SQL sera certainement bénéfique pour déchiffrer l'interview pour le profil concerné.
Hormis certains concepts majeurs, certains faits cachés restent invisibles et affectent votre performance lors de l'entretien. Dans ce tutoriel, j'ai essayé de me souvenir de certains de ces concepts qui semblent petits mais ne doivent pas être négligés.
J'espère que dans cet article, vous trouverez des réponses aux questions d'entretien SQL les plus fréquemment posées. La connaissance de SQL est un must pour tout testeur et cet article vous aidera à préparer l'entretien.
Lectures complémentaires => Tout sur les tests de bases de données
lecture recommandée
- Questions et réponses d'entrevue
- Principales questions d'entretien d'Oracle: Questions Oracle Basic, SQL, PL / SQL
- 30 questions et réponses d'entretien PL / SQL les plus importantes en 2021
- Questions et réponses d'entrevue de test ETL
- Questions et réponses sur les entretiens avec Teradata
- Quelques questions et réponses difficiles sur les tests manuels
- 25 meilleures questions et réponses d'entrevue de test Agile
- Questions d'entrevue Spock avec réponses (les plus populaires)