MONDE SQL

TÉLÉCHARGER le livre électronique de questions d’entrevue SQL GRATUIT

Dans mes articles précédents, j’ai donné l’idée de différentes requêtes complexes. Dans cet article, je vais essayer d’expliquer les questions d’entrevue SQL complexes. ce qui peut demander en entrevue avec des exemples. Je vais essayer d’expliquer la requête par étapes afin que l’utilisateur ait une idée de son exécution. Il y a les requêtes SQL suivantes pour les entretiens, qui sont très importantes. Ces requêtes SQL pour les entretiens sont importantes pour les professionnels de Fresher ainsi que pour les professionnels expérimentés, qui ont une bonne expérience. J’ai essayé de collecter les requêtes, auxquelles j’ai fait face personnellement en entrevue:

1.Comment afficher 1 à 100 numéros avec requête?

Réponse:

Sélectionnez niveau dans double connexion par niveau <=100;

Conseil: L’utilisateur doit connaître le concept de requêtes hiérarchiques. Cliquez ici pour obtenir le concept de requêtes hiérarchiques

2.Comment supprimer les lignes en double de la table?(100% posé dans des questions d’entrevue SQL complexes)

Réponse:

Première étape: Sélection de lignes en double dans la table

Astuce: Utilisez le concept de max (rowid) de la table. Cliquez ici pour obtenir le concept de rowid.

Sélectionnez rollno DE L’étudiant OÙ ROWID <>

( Sélectionnez max (rowid) de l’élève b où rollno = b. rollno);

Étape 2: Supprimer les lignes en double

Supprimer DE L’étudiant OÙ ROWID <>

( Sélectionnez max (rowid) de l’élève b où rollno = b. rollno);

3.Comment trouver le nombre de lignes en double? (95% des questions posées dans les requêtes SQL pour les entretiens)

Réponse:

Sélectionnez rollno, count(rollno) de l’étudiant

Groupe par rollno

Ayant count(rollno)>1

Ordre par nombre (rollno) desc;

4.Comment trouver le troisième salaire le plus élevé dans le tableau des employés en utilisant l’auto-adhésion?(90% ont posé des questions d’entrevue SQL complexes)

Réponse:

Sélectionnez * de l’employé a Où 3 = (Sélectionnez Compter (salaire distinct) de l’employé où a. salaire < = b. salaire;

Cliquez ici pour des explications.

5.Comment afficher les marques Max et min ensemble à partir de la table des étudiants?

Réponse:

Sélectionnez max (marques) de l’étudiant

Union

Sélectionnez min (marques) de l’étudiant;

Conseil: Utilisez le concept d’union pour afficher les marques max et min ensemble. Cliquez ici pour obtenir des informations sur union et union all.

6.Comment afficher la suite à l’aide de la requête?

*

**

***

Réponse:

Nous ne pouvons pas utiliser la table double pour afficher la sortie donnée ci-dessus. Pour afficher la sortie, utilisez n’importe quelle table. J’utilise la table des étudiants.

SÉLECTIONNEZ lpad(‘*’, ROWNUM, ‘*’) DE L’étudiant OÙ ROWNUM <4;

7.Comment afficher la date dans le tableau JJ-LUN-AAAA?

Réponse:

Sélectionnez to_date(Hire_date, ‘JJ-LUN-AAAA’) FormaT_date de l’employé;

8.La colonne If marks contient les valeurs séparées par des virgules de la table Student. Comment calculer le nombre de ces valeurs séparées par des virgules?

Nom de l’élève Points
Amit 30,130,20,4
Sukruta 100,20,30
Sonali 140,10

Vous voulez afficher la sortie comme :

Nom de l’élève Nombre de notes
Amit 4
Sukruta 3
Sonali 2

Réponse:

Sélectionnez Student_name, regexp_count(marks, ‘,’) + Comme “Nombre de marques” de l’étudiant;

Astuce: Dans les scénarios réels, le développeur doit souvent calculer le nombre de virgules dans la colonne, puis la fonction regexp_count est utilisée.

9.Comment créer la table Student_1, qui est la réplique exacte de la table Student?

Réponse:

Créer la table Student_1 en tant que select* de Student;

10.Qu’est-ce qu’une requête pour supprimer toutes les tables utilisateur d’Oracle ?

Réponse:

Pour supprimer toutes les tables, l’utilisateur doit écrire un bloc PLSQL simple

Begin

For I In

(Select* from Tabs) – Tabs est une table système dans laquelle l’utilisateur obtient les différents noms de table définis par l’utilisateur.

Boucle

Exécuter immediate(‘Drop Table’ // i.table_name |/ ‘contraintes de cascade’);

Boucle de fin;

Fin;

11.Comment obtenir le nombre de week-ends du mois en cours?

Réponse:

Fragmentons la Requête pour la compréhension,

Étape 1: Essayez d’exécuter une requête interne

SÉLECTIONNEZ TRUNC(SYSDATE, ‘mm’) + NIVEAU-1 Current_dt

À PARTIR DE Dual

CONNECTEZ-VOUS PAR NIVEAU < = last_day–SYSDATE) – TRUNC(SYSDATE, ‘mm’) +1;

La requête donnera toutes les dates du premier au dernier de la date actuelle.

Étape 2: Pour compter les week-ends.

De tout le mois, nous devons calculer les week-ends. Le week-end signifie les samedis et dimanches du mois. Donc, ici, nous devons utiliser la fonction To_char et l’attribut ‘dy’ de cette fonction pour calculer les jours. Par conséquent, nous avons utilisé Where TO_CHAR(Current_dt, ‘dy’) DANS (‘sat’, ‘sun’); condition.

Par conséquent, la requête finale sera

12.Qu’est-ce que la requête à récupérer le dernier jour du mois précédent dans oracle ?

Réponse:

Sélectionnez LAST_DAY(ADD_MONTHS(SYSDATE, -1)) à partir de dual;

13.Comment afficher la Chaîne verticalement dans Oracle?

Réponse:

SÉLECTIONNEZ SUBSTR(‘AMIET’, NIVEAU, 1) À PARTIR DE dual

Connect by level< = length(‘AMIET’);

Sortie :

A

M

I

E

T

14.Écrire une requête pour trouver les caractères répétés de votre nom?

Réponse:

Sélectionnez regexp_count(‘AmitA’, ‘A’) comme Caractère répété depuis dual;

15.Comment afficher le salaire maximum par département et par mois?

Réponse:

Sélectionnez Department_no, TO_CHAR(Hire_date, ‘Mon’) comme Mois du groupe d’employés par Department_no, TO_CHAR(Hire_date, ‘mon’);

16.Comment obtenir DDL de la table dans Oracle?

Réponse:

Pour obtenir DDL, l’utilisateur doit utiliser le package dbms_metadata et sa procédure get_ddl,

Sélectionnez dbms_metadata.get_ddl(TABLE, ‘table_name’) de dual;

17.Comment convertir des secondes au format de l’heure?

Réponse:

SÉLECTIONNEZ

TO_CHAR(TRONC(2700/3600), ‘FM9900’) || ‘:’ ||

TO_CHAR(TRUNC(MOD (2700, 3600)/60),’ FM00′) || ‘:’ ||

TO_CHAR(MOD(2700, 60), ‘FM00’)

À PARTIR DE DUAL;

Où 2700 est secondes.

Sortie:

18.Comment calculer le nombre de lignes dans la table sans utiliser la fonction count?

Réponse:

Sélectionnez table_name, num_rows de user_tables où table_name=’Employé’;

Conseil: L’utilisateur doit utiliser les tables système pour la même chose. Donc, en utilisant user_tables, l’utilisateur obtiendra le nombre de lignes dans la table.

19.Comment récupérer des enregistrements communs à partir de deux tables différentes qui n’ont aucune condition de jointure.

Réponse:

Sélectionnez * dans le Tableau1

Intersectez

Sélectionnez * dans le Tableau2;

Astuce: Utilisez le mot clé Intersect pour récupérer les enregistrements communs.

20.Affichez 4 à 7 enregistrements de la table des employés.

Réponse:

Select *from (Sélectionnez rownum comme ‘No_of_Row’, E. * from Employee E)

Où No_of_Row entre 4 et 7;

21.Affichez 10 à 15 enregistrements de la table des employés.

Réponse:

Select *from (Sélectionnez rownum comme ‘No_of_Row’, E. * from Employee E)

Où No_of_Row entre 10 et 15;

22.Quelle est la requête pour récupérer le dernier enregistrement de la table?

Réponse :

Sélectionner * du client où Rowid = sélectionner max (Rowid) du client;

Questions d’entrevue SQL complexes:

Dans l’article ci-dessus, j’ai donné 20 questions d’entrevue SQL complexes les plus importantes.J’espère que vous aimez cet article sur une manière très exceptionnelle d’écrire des requêtes complexes. Cet article de Questions d’entrevue SQL complexes est utile des étudiants aux employés qui sont prêts à travailler sur SQL.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.