MySQL Subquery Tutorial

Autor: Christy White
Data Creației: 10 Mai 2021
Data Actualizării: 1 Decembrie 2024
Anonim
Subquery In SQL | SQL Subquery Tutorial With Examples | SQL Tutorial For Beginners | Simplilearn
Video: Subquery In SQL | SQL Subquery Tutorial With Examples | SQL Tutorial For Beginners | Simplilearn

Conţinut

Semnele de întrebări sunt interogări imbricate în altul. Acestea vă permit să separați o parte din propoziție și să oferiți o alternativă mai ușor de citit la operații care ar putea necesita aderări complexe și uniuni. Subqueries în MySQL poate returna o valoare, un rând, o coloană sau o tabelă de date.


Utilizați subqueries pentru a crea fraze mai ușor de citit și compact (Thinkstock Imagini / Comstock / Getty Images)

Sintaxa

Sintaxa de bază a unui subtip este următoarea:

SELECT * FROM table1 WHERE coloana A = (SELECT columnB FROM table2) GO

Subqueries ar trebui să constea dintr-o instrucțiune "SELECT", "INSERT", "UPDATE", "DELETE", "SET" sau "DO", și nu puteți schimba tabela și să o utilizați simultan în cadrul subchetei. Subcheile sunt folosite de obicei în partea dreaptă a clauzei WHERE, care poate conține oricare dintre operatorii de comparație și logică, cum ar fi = (egal), <> (diferit), <= (mai mic sau egal),> = sau "BETWEEN" (între două valori), "NOT", "AND" și "OR". De asemenea, puteți utiliza cuvintele cheie "DISTINCT", "GROUP BY", "ORDER BY" și "LIMIT" și chiar combinate cu declarații "JOIN". În afară de restricțiile detaliate, există foarte puține limitări la scrierea subqueries în MySQL.


Nu există nici măcar o restricție privind numărul de subcheiri făcute într-o propoziție. Puteți găsi mai multe informații despre subdotări în manualul de referință MySQL (consultați secțiunea "Resurse").

exemplu

Să presupunem că aveți două mese: una cu numele și prenumele, adresa și codul poștal al membrilor unei liste de discuții și unul cu orașele, statele și codul poștal. Pentru a găsi numele membrilor care locuiesc în Brasilia, mai multe propoziții "selectați" pot fi folosite. Primul va căuta CEP-urile din Brasilia:

SELECTAȚI FROM FROM codurile WHERE state = "BRASILIA" GO

Apoi folosiți un "select" pentru fiecare cod poștal găsit:

SELECT nume, prenume FROM adrese WHERE cep = [codecep] GO

Această metodă este consumatoare de timp și ușor de făcut greșeli. Este ușor să pierzi un cod poștal, mai ales dacă sunt prea multe. O modalitate mai ușoară de a finaliza această sarcină este de a folosi prima teză ca subcotare în cadrul celui de-al doilea:


SELECT nume, prenume FROM adrese WHERE cep = (SELECT cep FROM coduri WHERE state = "BRASILIA") GO

Această interogare va afișa toți membrii listei tale de discuții care locuiesc în Brasilia.