Come utilizzare le sottoquerie in sqlite

Come utilizzare le sottoquerie in sqlite
SQLite è un RDBMS utilizzato per gestire i dati memorizzati in un database e gestisce anche i dati archiviati sotto forma di tabelle; Utilizzando diverse clausole, query, sottoquerie e funzioni integrate. In questo articolo, discuteremo le sotto-domande e il loro utilizzo in SQLite.

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:

  • Può verificarsi una sottoquery con la clausola selezionata, dalla clausola, la clausola di aggiornamento, la clausola elimina, la clausola di inserimento e la clausola
  • Per lo più la sottostante viene utilizzata con la clausola in cui la clausola, insieme all'istruzione selezionata di un'altra tabella
  • Operatori di confronto come in, non in,>, <, and = can be used with the subqueries
  • Usa sempre le parentesi () per definire una sottoquery in modo che possa essere differenziato dalla query principale
  • La sottoquery restituirà solo una colonna
  • La sottoquery restituirà una singola riga, ma può restituire più righe se utilizzato con l'operatore In

Qual è la sintassi generale dell'utilizzo della sottoquery

La sintassi generale della sottoquery è come:

Seleziona colonna_1 dalla tabella1
Dove column_1 = (Seleziona colonna_1 dalla tabella2);

Come 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);
Crea tabella john_employes_salary (emp_id integer, emp_salary integer);

Ora, inserisci alcuni dati in queste tabelle appena create, usando:

Inserisci i valori John_Employees (1, 'Hannah'), (2, 'Paul'), (3, 'Alexander');
Inserisci i valori di john_employees_salary (1.50000), (2.38000), (3, 93000);

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.