Comment utiliser des sous-requêtes dans SQLite

Comment utiliser des sous-requêtes dans SQLite
SQLite est un SGBDR qui est utilisé pour gérer les données stockées dans une base de données et gère également les données stockées sous forme de tableaux; en utilisant différentes clauses, requêtes, sous-questionnaires et fonctions intégrées. Dans cet article, nous discuterons des sous-questions et de leur utilisation dans SQLite.

Qu'est-ce qu'une sous-requête

Une sous-requête est une requête imbriquée, qui est présente à l'intérieur de la requête principale, par exemple, nous avons une déclaration dans la figure ci-dessous:

Dans cette image, nous pouvons voir clairement, la déclaration de sélection imbriquée est connue sous le nom de sous-requête ou de requête intérieure, en outre, certains principes doivent être gardés à l'esprit lors de l'utilisation des sous-requêtes:

  • Une sous-requête peut se produire avec la clause sélectionnée, dans la clause, la clause de mise à jour, la clause de suppression, l'insertion de la clause et où la clause
  • La principale sous-requête est utilisée avec la clause où, ainsi que l'instruction SELECT d'un autre tableau
  • Opérateurs de comparaison comme dans, pas dans,>, <, and = can be used with the subqueries
  • Utilisez toujours les parenthèses () pour définir une sous-requête afin qu'elle puisse être différenciée de la requête principale
  • La sous-requête ne renverra qu'une seule colonne
  • La sous-requête renvoie une seule ligne, mais elle peut renvoyer plusieurs lignes si elle est utilisée avec l'opérateur in

Quelle est la syntaxe générale de l'utilisation de la sous-requête

La syntaxe générale de la sous-requête est:

Sélectionnez Column_1 dans le tableau 1
Où chronn_1 = (sélectionnez Column_1 dans le tableau 2);

Comment utiliser la sous-requête avec le Select et Where Clauses

Une requête imbriquée peut être utilisée avec la clause SELECT et WHERE, pour comprendre cela, nous créerons deux tables:

Créer une table John_Employees (EMP_ID INTEGER, EMP_NAME Text);
Créer une table John_Employees_salary (EMP_ID INTEGER, EMP_SALARY INTEGER);

Maintenant, insérez certaines données dans ces tables nouvellement créées, en utilisant:

Insérer dans les valeurs John_Employees (1, «Hannah»), (2, «Paul»), (3, «Alexander»);
Insérer dans John_Employees_Salary Values ​​(1 50000), (2 38000), (3, 93000);

En utilisant maintenant la sous-requête, nous afficherons les employés dont le salaire est supérieur à 38000:

Sélectionnez * dans John_Employees où EMP_ID IN (SELECT EMP_ID dans John_Employees_Salary où EMP_SALARY> 40000);

La sortie ci-dessus affichait les employés dont les salaires sont supérieurs à 40000, en utilisant la sous-requête, il a comparé les valeurs d'un tableau à une autre. Dans l'exemple ci-dessus, «(sélectionnez EMP_ID dans John_Employees_Salary où EMP_SALARY> 40000);» La sous-requête est-elle utilisée dans une déclaration imbriquée.

Comment utiliser la sous-requête avec clause d'insertion

Les sous-requêtes peuvent également être utilisées avec la clause d'insert pour insérer les valeurs d'un tableau à l'autre tableau. Pour le comprendre, considérez un exemple; Nous avons une table, Paul_Employees, qui est similaire à John_Employes dans la structure de la table. Maintenant, nous copions les données d'EMP_NAMES des John_Employees à Paul_Employes à l'aide d'une sous-requête:

Insérer dans Paul_Employees SELECT * FROM John_Employees où EMP_NAME IN (SELECT EMP_NAME FROM John_Employees);

Pour afficher le contenu de la table Paul_Employes, nous exécuterons l'instruction:

SELECT EMP_NAME FROM PAUL_EMPLOYEESEES;

Comment utiliser la sous-requête avec la clause de mise à jour

Une sous-requête peut être utilisée avec la clause de mise à jour pour mettre à jour les données de n'importe quelle table, par exemple, nous avons un tableau de John_Employees_Salary:

Sélectionnez * dans John_Employees_Salary;

Nous mettons à jour les valeurs de EMP_SALARY, du tableau John_Employees_Salary de 50%, des employés qui ont EMP_ID supérieur à 1, donc en utilisant la sous-requête comme:

Mettre à jour John_Employees_Salary Set emp_salary = emp_salary * 1.50 où EMP_ID IN (SELECT EMP_ID de John_Employees où EMP_ID> 1);

Pour montrer les salaires de John_Employees_Salary:

Sélectionnez * dans John_Employees_Salary;

D'après la production, nous pouvons confirmer que les salaires des employés ont été augmentés dont l'EMP_ID est supérieur à 1.

Comment utiliser la sous-requête avec clause de suppression

Nous pouvons également utiliser la sous-requête avec la clause de suppression pour supprimer les données de la table, pour la comprendre, considérer un tableau John_Employes, dont les données sont affichées en utilisant:

Sélectionner * dans John_Employees;

Maintenant, nous supprimerons les noms de ces employés, qui prennent plus de 80 000 salaires, mentionnés dans le tableau John_Employees_salary en utilisant la sous-requête comme:

Supprimer de John_Employees où EMP_ID IN (SELECT EMP_ID de John_Employees_Salary où EMP_SALARY> 80000);

Pour confirmer les modifications, nous afficherons le tableau John_Employes:

Sélectionner * dans John_Employees;

Conclusion

SQLite est un système de gestion de base de données relationnel sans serveur qui utilise des requêtes pour organiser les données. Il existe différentes méthodes dans SQLite pour accéder aux données d'une base de données, l'une d'entre elles est des requêtes imbriquées. Les requêtes imbriquées qui sont appelées sous-requêtes sont principalement nécessaires lorsque nous modifions les données en fonction de certaines conditions qui dépendent d'un autre tableau. Dans cet article, nous avons discuté des sous-requêtes SQLite, ainsi que leur utilisation avec des exemples.