Cos'è una sottoquery
Una sottoquery è una query nidificata, che è presente all'interno della query principale, ad esempio, abbiamo una dichiarazione nella figura seguente:
In questa immagine, possiamo vedere chiaramente, l'istruzione selezionata nidificata è nota come sottoquery o query interiore, inoltre, ci sono alcuni principi che dovrebbero essere tenuti a mente durante l'utilizzo delle sottoquerie:
Qual è la sintassi generale dell'utilizzo della sottoquery
La sintassi generale della sottoquery è come:
Seleziona colonna_1 dalla tabella1Come utilizzare la sottoquery con la selezione e dove le clausole
Una query nidificata può essere utilizzata con la clausola selezionata e dove, per capirlo, creeremo due tabelle:
Crea tabella john_employees (emp_id integer, emp_name text);Ora, inserisci alcuni dati in queste tabelle appena create, usando:
Inserisci i valori John_Employees (1, 'Hannah'), (2, 'Paul'), (3, 'Alexander');Ora utilizzando la sottoquery, mostreremo i dipendenti il cui stipendio è maggiore di 38000:
Seleziona*da John_Employees Where EMP_ID in (Seleziona EMP_ID da John_Employees_Salary dove EMP_Salary> 40000);L'output di cui sopra mostrava quei dipendenti i cui stipendi sono superiori a 40000, utilizzando la sottoquery ha confrontato i valori di una tabella con un'altra. Nell'esempio sopra, "(Seleziona EMP_ID da John_Employees_Salary dove EMP_SALARY> 40000);" è la sottoquery che viene utilizzata in una dichiarazione nidificata.
Come utilizzare la sottocquery con la clausola Insert
Le sottoquerie possono anche essere utilizzate con la clausola Insert per inserire i valori da una tabella all'altra tabella. Per capirlo, considera un esempio; Abbiamo una tabella, paul_employees, che è simile a john_employees nella struttura della tabella. Ora stiamo copiando i dati di EMP_NAMES da John_Employees a Paul_Employees usando una sottoquery:
Inserisci in paul_employees seleziona * da John_employees Where EMP_Name in (Seleziona emp_name da John_Employees);Per visualizzare il contenuto della tabella Paul_Employees, eseguiremo la dichiarazione:
Seleziona EMP_NAME da Paul_Employees;Come utilizzare la sottocquery con la clausola di aggiornamento
Una sottoquery può essere utilizzata con la clausola di aggiornamento per aggiornare i dati di qualsiasi tabella, ad esempio, abbiamo una tabella di John_Employees_Salary:
Seleziona * da John_Employees_Salary;Stiamo aggiornando i valori di EMP_Salary, della tabella John_Employees_Salary del 50%, di quei dipendenti che hanno EMP_ID maggiore di 1, quindi utilizzando la sottocquery come:
AGGIORNAMENTO JOHN_MOPLYEES_SALARY SET EMP_SALARY = EMP_SALARY * 1.50 dove EMP_ID IN (Seleziona EMP_ID da John_Employees Where EMP_ID> 1);Per mostrare gli stipendi di John_Employees_Salary:
Seleziona * da John_Employees_Salary;Dall'output, possiamo confermare che gli stipendi dei dipendenti sono stati aumentati il cui EMP_ID è maggiore di 1.
Come utilizzare la sottocquery con la clausola Elimina
Possiamo anche utilizzare la sottoquery con la clausola Elimina per eliminare i dati dalla tabella, per capirli, prendere in considerazione una tabella John_Employees, i cui dati vengono visualizzati utilizzando:
Seleziona * da John_Employees;Ora elimineremo i nomi di quei dipendenti, che stanno prendendo stipendi più di 80.000, menzionati nella tabella John_Employees_Salary usando la sottoquery come:
Elimina da John_Employees Where EMP_ID in (Seleziona EMP_ID da John_Employees_Salary dove EMP_Salary> 80000);Per confermare le modifiche, visualizzeremo la tabella John_Employees:
Seleziona * da John_Employees;Conclusione
SQLite è un sistema di gestione del database relazionale senza server che utilizza le query per organizzare i dati. Esistono diversi metodi in SQLite per accedere ai dati di un database, uno di questi è le query nidificate. Le query nidificate che sono note come sottoquerie sono per lo più richieste quando stiamo modificando i dati in base ad alcune condizioni che dipendono da alcune altre tabelle. In questo articolo, abbiamo discusso delle sottoquerie SQLite e anche il loro utilizzo con esempi.