Latest web development tutorials

SQLite subquery

Sottoquery o query nidificate o query interno è incorporato nella query clausola WHERE all'interno di un'altra interrogazione SQLite.

L'uso di sub-query restituisce i dati saranno utilizzati nella query principale, come condizione per limitare ulteriormente i dati che devono essere recuperati.

Subquery possono essere utilizzati con SELECT, INSERT, UPDATE e DELETE possono essere accompagnati dagli operatori di utilizzo, come =, <,>,> =, <=, IN, piace TRA.

Il seguente è un subquery varie regole che devono essere seguite:

  • Subquery devono essere racchiuse tra parentesi.

  • Sub-query SELECT clausola può avere una sola colonna, a meno che non più colonne nella query principale, il confronto della colonna sottoquery selezionata.

  • ORDER BY non può essere utilizzato in una sottoquery, anche se l'interrogazione principale può usare ORDER BY. È possibile utilizzare il GROUP BY in sottoquery, funzioni lo stesso come ORDER BY.

  • subquery restituisce più di una riga, possono essere utilizzati solo con operatore a più valori, come ad esempio l'operatore IN.

  • TRA operatore non può essere utilizzato con sub-query, tuttavia, TRA possono essere usati all'interno sottointerrogazioni.

SELEZIONA subquery dichiarazione

Sottoquery di solito è usato con un'istruzione SELECT. La sintassi di base è la seguente:

SELEZIONE column_name [, nome_colonna]
FROM tabella1 [, table2]
DOVE column_name OPERATORE
      (SELEZIONE column_name [, nome_colonna]
      FROM tabella1 [, table2]
      [WHERE])

Esempi

tavolo COMPANY Supponiamo che ha i seguenti documenti:

NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 20000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvegia 20000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

Ora, esaminiamo il subquery SELECT:

sqlite> SELECT * 
     DA AZIENDA 
     DOVE ID IN (SELECT MATR 
                  DA AZIENDA 
                  WHERE STIPENDIO> 45000);

Questo produce i seguenti risultati:

NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 85.000,0

INSERT dichiarazione subquery

Subquery possono essere utilizzati anche con istruzione INSERT. istruzione INSERT utilizza una subquery per restituire i dati in un'altra tabella. Nell'Africa sub-query i dati selezionati possono essere qualsiasi carattere, la data, o modifica funzione numerica.

La sintassi di base è la seguente:

INSERT INTO nome_tabella [(column1 [, column2])]
           SELECT [* | column1 [, column2]
           FROM tabella1 [, table2]
           [Dove il valore OPERATORE]

Esempi

Supponiamo COMPANY_BKP COMPANY struttura della tabella e simili, e può utilizzare lo stesso CREATE TABLE per creare, appena cambiato il nome della COMPANY_BKP tavolo. Ora copiare l'intera tabella COMPANY a COMPANY_BKP, la sintassi è la seguente:

sqlite> INSERT INTO COMPANY_BKP
     SELECT * FROM COMPANY 
     DOVE ID IN (SELECT MATR 
                  Da Company);

UPDATE dichiarazione subquery

Subquery possono essere utilizzati con l'istruzione UPDATE. Quando si utilizza un'istruzione UPDATE sottoquery, colonne singole o multiple vengono aggiornati nella tabella.

La sintassi di base è la seguente:

UPDATE tabella
SET nome_colonna = NEW_VALUE
[In cui l'operatore [VALUE]
   (SELEZIONA COLUMN_NAME
   DA TABLE_NAME)
   [WHERE)]

Esempi

Supponiamo di avere tavolo COMPANY_BKP, tavolo COMPANY backup.

I seguenti esempi della tabella COMPANY tutto AGE o uguale a 27 clienti STIP aggiornato l'originale 0.50 volte:

sqlite> azienda Aggiornare
     Salario = STIPENDIO * 0.50
     In cui l'età IN (SELECT età da COMPANY_BKP
                   In cui l'età> = 27);

Questo influenzerà le due linee degli ultimi record Società nella tabella come segue:

NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
1 Paul 32 California 10000.0
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvegia 20000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 42.500,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0

DELETE subquery dichiarazione

Subquery possono essere utilizzati con l'istruzione DELETE, proprio come le altre dichiarazioni come accennato in precedenza.

La sintassi di base è la seguente:

DELETE FROM TABLE_NAME
[In cui l'operatore [VALUE]
   (SELEZIONA COLUMN_NAME
   DA TABLE_NAME)
   [WHERE)]

Esempi

Supponiamo di avere tavolo COMPANY_BKP, tavolo COMPANY backup.

Gli esempi che seguono eliminare tutti i record dei clienti maggiore o uguale AGE 27 tavolo COMPANY:

sqlite> DELETE FROM COMPANY
     In cui l'età IN (SELECT età da COMPANY_BKP
                   In cui l'età> 27);

Questo influenzerà le due linee degli ultimi record Società nella tabella come segue:

NOME ID Età Indirizzo STIPENDIO
---------- ---------- ---------- ---------- ----------
2 Allen 25 Texas 15000.0
3 Teddy 23 Norvegia 20000.0
4 Mark 25 Rich-Mond 65.000,0
5 David 27 Texas 42.500,0
6 Kim 22 Sud-Hall 45.000,0
7 James 24 Houston 10000.0