Latest web development tutorials

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