SQLite sous_requĂȘte
Subquery ou requĂȘtes imbriquĂ©es ou une requĂȘte interne est intĂ©grĂ© dans la requĂȘte clause WHERE dans une autre requĂȘte SQLite.
L'utilisation de sous-requĂȘte renvoie les donnĂ©es seront utilisĂ©es dans la requĂȘte principale comme condition de limiter davantage les donnĂ©es Ă rĂ©cupĂ©rer.
Subqueries peuvent ĂȘtre utilisĂ©s avec SELECT, INSERT, UPDATE et DELETE peuvent ĂȘtre accompagnĂ©s par les opĂ©rateurs d'utilisation tels que =, <,>,> =, <=, IN, aiment ENTRE.
Ce qui suit est une sous-requĂȘte plusieurs rĂšgles qui doivent ĂȘtre suivies:
Subqueries doivent ĂȘtre placĂ©s entre parenthĂšses.
Sous-requĂȘte clause SELECT ne peut avoir une colonne, Ă moins que plusieurs colonnes dans la requĂȘte principale, la comparaison colonne de sous-requĂȘte sĂ©lectionnĂ©e.
ORDER BY ne peut pas ĂȘtre utilisĂ© dans une sous-requĂȘte, bien que la requĂȘte principale peut utiliser ORDER BY. Vous pouvez utiliser le GROUP BY dans les sous-requĂȘtes, fonctions le mĂȘme que ORDER BY.
rendements des sous-requĂȘtes plus d'une ligne, ne peuvent ĂȘtre utilisĂ©s avec l'opĂ©rateur multi-valeur, comme l'opĂ©rateur IN.
ENTRE l'opĂ©rateur ne peut pas ĂȘtre utilisĂ© avec des sous-requĂȘtes, cependant, ENTRE peut ĂȘtre utilisĂ© dans les sous-requĂȘtes.
Instruction SELECT sous_requĂȘte
Subquery est habituellement utilisé avec une instruction SELECT. La syntaxe de base est la suivante:
column_name SELECT [, nom_colonne] FROM table1 [, table2] WHERE column_name OPĂRATEUR (Nom_colonne SELECT [, nom_colonne] FROM table1 [, table2] [WHERE])
Exemples
Supposons que la table de l'entreprise a les documents suivants:
ID NOM ADRESSE AGE SALAIRE ---------- ---------- ---------- ---------- ---------- 1 Paul 32 Californie 20000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 NorvĂšge 20000.0 4 Mark 25 Rich-Mond 65000,0 5 David 27 Texas 85000,0 6 Kim 22 Sud-Hall 45000,0 7 James 24 Houston 10000.0
Maintenant, nous allons examiner la dĂ©claration sous-requĂȘte SELECT:
sqlite> SELECT * DE L'ENTREPRISE WHERE ID IN (SELECT ID DE L'ENTREPRISE WHERE SALAIRE> 45000);
On obtient les résultats suivants:
ID NOM ADRESSE AGE SALAIRE ---------- ---------- ---------- ---------- ---------- 4 Mark 25 Rich-Mond 65000,0 5 David 27 Texas 85000,0
INSERT dĂ©claration sous_requĂȘte
Subqueries peuvent Ă©galement ĂȘtre utilisĂ©s avec l'instruction INSERT. instruction INSERT utilise une sous-requĂȘte pour renvoyer des donnĂ©es dans une autre table. Dans la sous-requĂȘte les donnĂ©es sĂ©lectionnĂ©es peuvent ĂȘtre tout caractĂšre, la date ou la modification de la fonction numĂ©rique.
La syntaxe de base est la suivante:
INSERT INTO nom_table [(column1 [, column2])] SELECT [* | column1 [, column2] FROM table1 [, table2] [WHERE VALEUR OPĂRATEUR]
Exemples
Supposons COMPANY_BKP COMPANY structure de table et similaires, et peut utiliser le mĂȘme CREATE TABLE pour crĂ©er, tout simplement changĂ© le nom de la table COMPANY_BKP. Maintenant copier la table entiĂšre de l'entreprise pour COMPANY_BKP, la syntaxe est la suivante:
sqlite> INSERT INTO COMPANY_BKP * SELECT FROM COMPANY WHERE ID IN (SELECT ID DE LA SOCIĂTĂ);
UPDATE sous_requĂȘte
Subqueries peuvent ĂȘtre utilisĂ©s avec l'instruction UPDATE. Lorsque vous utilisez une instruction UPDATE sous-requĂȘte, une ou plusieurs colonnes sont mises Ă jour dans le tableau.
La syntaxe de base est la suivante:
UPDATE table SET nom_colonne = new_value [WHERE OPĂRATEUR [VALUE] (SELECT COLUMN_NAME DE TABLE_NAME) [WHERE)]
Exemples
Supposons que nous ayons la table COMPANY_BKP, sauvegarde table COMPANY.
Les exemples suivants de la table de la Compagnie Tous les AGE ou Ă©gale Ă 27 clients SALAIRE mis Ă jour le 0.50 fois d'origine:
sqlite> UPDATE COMPANY SET SALAIRE = SALAIRE * 0,50 OĂ EN AGE (SELECT AGE DE COMPANY_BKP WHERE AGE> = 27);
Cela aura une incidence sur les deux lignes des derniers dossiers de l'entreprise dans le tableau comme suit:
ID NOM ADRESSE AGE SALAIRE ---------- ---------- ---------- ---------- ---------- 1 Paul 32 Californie 10000.0 2 Allen 25 Texas 15000.0 3 Teddy 23 NorvĂšge 20000.0 4 Mark 25 Rich-Mond 65000,0 5 David 27 Texas 42500,0 6 Kim 22 Sud-Hall 45000,0 7 James 24 Houston 10000.0
DELETE sous_requĂȘte
Subqueries peuvent ĂȘtre utilisĂ©s avec l'instruction DELETE, tout comme les autres dĂ©clarations mentionnĂ©es ci-dessus.
La syntaxe de base est la suivante:
DELETE FROM TABLE_NAME [WHERE OPĂRATEUR [VALUE] (SELECT COLUMN_NAME DE TABLE_NAME) [WHERE)]
Exemples
Supposons que nous ayons la table COMPANY_BKP, sauvegarde table COMPANY.
Les exemples suivants supprimer tous les enregistrements de clients supérieur ou égal AGE 27 table COMPANY:
sqlite> DELETE FROM COMPANY OĂ EN AGE (SELECT AGE DE COMPANY_BKP OĂ AGE> 27);
Cela aura une incidence sur les deux lignes des derniers dossiers de l'entreprise dans le tableau comme suit:
ID NOM ADRESSE AGE SALAIRE ---------- ---------- ---------- ---------- ---------- 2 Allen 25 Texas 15000.0 3 Teddy 23 NorvĂšge 20000.0 4 Mark 25 Rich-Mond 65000,0 5 David 27 Texas 42500,0 6 Kim 22 Sud-Hall 45000,0 7 James 24 Houston 10000.0