Hvordan du bruker subqueries i sqlite

Hvordan du bruker subqueries i sqlite
SQLite er en RDBMS som brukes til å administrere dataene som er lagret i en database, og også administrerer dataene som er lagret i form av tabeller; Ved å bruke forskjellige klausuler, spørsmål, underlag og innebygde funksjoner. I denne artikkelen vil vi diskutere subkapslene og bruken av dem i SQLite.

Hva er en underspørs

En underspørs er et nestet spørsmål, som er til stede i hovedspørsmålet, for eksempel har vi en uttalelse i figuren nedenfor:

I dette bildet kan vi se tydelig, den nestede utvalgte uttalelsen er kjent som en underspørs eller indre spørring, dessuten er det noen prinsipper som bør huskes mens du bruker underlagene:

  • En underspørs kan oppstå med valgt leddet
  • For det meste brukes subquery med hvor klausul, sammen med den utvalgte uttalelsen fra en annen tabell
  • Sammenligningsoperatører som i, ikke i,>, <, and = can be used with the subqueries
  • Bruk alltid parentesene () til å definere en underkant slik at den kan differensieres fra hovedspørsmålet
  • Undervalget returnerer bare en kolonne
  • Subquery vil returnere en enkelt rad, men den kan returnere flere rader hvis den brukes med In Operator

Hva er den generelle syntaksen ved å bruke subQuery

Den generelle syntaksen til subquery er som:

Velg kolonne_1 fra tabell1
Hvor kolonne_1 = (velg kolonne_1 fra tabell2);

Hvordan du bruker subquery med Select og hvor klausuler

Et nestet spørsmål kan brukes med Select and Where Clause, for å forstå dette, vil vi lage to tabeller:

Lag tabell John_Employee (emp_id heltall, emp_name tekst);
Lag tabell John_Employeees_salary (emp_id heltall, emp_salary heltall);

Sett nå inn noen data i disse nyopprettede tabellene, ved å bruke:

Sett inn John_Employee Values ​​(1, 'Hannah'), (2, 'Paul'), (3, 'Alexander');
Sett inn i John_EmployeeS_Salary Values ​​(1.50000), (2.38000), (3, 93000);

Nå som bruker subquery, vil vi vise de ansatte hvis lønn er større enn 38000:

Velg*fra John_Employee hvor emp_id in (velg emp_id fra john_employes_salary hvor emp_salary> 40000);

Ovennevnte utdata viste de ansatte hvis lønn er større enn 40000, ved å bruke subquery den sammenlignet verdiene til en tabell med en annen. I eksemplet over, "(Velg emp_id fra John_EmployeeS_Salary hvor emp_salary> 40000);" er subquery som brukes i en nestet uttalelse.

Hvordan du bruker subquery med innsatsbestemmelse

Subqueries kan også brukes med innsatsbestemmelsen for å sette inn verdiene fra den ene tabellen til den andre tabellen. For å forstå det, vurder et eksempel; Vi har et bord, Paul_employs, som ligner på John_Employee i tabellstruktur. Nå kopierer vi dataene fra EMP_NAMES fra John_Employee til Paul_Employee ved hjelp av et undervisning:

Sett inn i Paul_Employee Select * fra John_Employee hvor emp_name in (velg emp_name fra john_employes);

For å vise innholdet i Paul_Employee -tabellen, vil vi kjøre uttalelsen:

Velg EMP_NAME fra Paul_Employee;

Hvordan du bruker subquery med oppdateringsklausul

En undervisning kan brukes med oppdateringsklausulen for å oppdatere dataene fra en hvilken som helst tabell, for eksempel har vi en tabell over John_Employeees_salary:

Velg * fra John_Employees_Salary;

Vi oppdaterer verdiene til emp_salary, av tabellen John_Employeees_salary med 50%, av de ansatte som har emp_id større enn 1, så ved å bruke subQuery som:

Oppdater John_Employees_Salary Set Emp_Salary = EMP_SALARY * 1.50 hvor emp_id i (velg emp_id fra John_Employee hvor emp_id> 1);

For å vise lønnen til John_Employees_Salary:

Velg * fra John_Employees_Salary;

Fra produksjonen kan vi bekrefte at lønnen til de ansatte er økt hvis emp_id er større enn 1.

Hvordan du bruker subquery med sletteklausul

Vi kan også bruke subquery med sletteklausulen for å slette dataene fra tabellen, for å forstå det, vurder en tabell John_Employee, hvis data vises ved å bruke:

Velg * fra John_Employee;

Nå vil vi slette navnene på de ansatte, som tar lønn mer enn 80 000, nevnt i tabellen John_Employees_salary ved å bruke subquery som:

Slett fra John_Employee hvor emp_id i (velg emp_id fra john_employes_salary hvor emp_salary> 80000);

For å bekrefte endringene, vil vi vise tabellen John_Employee:

Velg * fra John_Employee;

Konklusjon

SQLite er et serverløst relasjonsdatabaseadministrasjonssystem som bruker spørsmål for å organisere dataene. Det er forskjellige metoder i SQLite for å få tilgang til dataene til en database, en av dem er nestede spørsmål. Nestede spørsmål som er kjent som subqueries er stort sett påkrevd når vi endrer dataene i henhold til noen forhold som er avhengige av en annen tabell. I denne artikkelen har vi diskutert SQLite -underlagene, og også deres bruk med eksempler.