SQL WHERE IN klauzula

Sql Where In Klauzula



SQL mēs varam izmantot WHERE IN klauzulu, lai filtrētu rezultātus noteiktā datu bāzē. Klauzula WHERE IN ļauj mums atlasīt rindas no dotās datu bāzes, kas atbilst vienai vai vairākām norādītajām vērtībām no dotā saraksta.

Šajā apmācībā mēs izpētīsim WHERE IN klauzulu, lai uzzinātu, kā mēs varam to izmantot, lai filtrētu rezultātus no noteiktas tabulas vai rezultātu kopas.

SQL WHERE IN klauzula

Tālāk ir parādīta WHERE IN klauzulas pamata sintakse SQL:







ATLASĪT kolonnu 1, kolonnu 2, ...
NO tabulas_nosaukums
WHERE kolonnas_nosaukums IN (vērtība1, vērtība2, ...);

Mēs sākam ar pamata paziņojumu “select”, kam seko kolonnas, kuras vēlamies iekļaut rezultātu kopā.



Tālāk mēs norādām tabulu, no kuras vēlamies izgūt rezultātus. Visbeidzot, mēs norādām filtra nosacījumu, izmantojot WHERE klauzulu, kam seko tās kolonnas nosaukums, kurā vēlamies filtrēt. Pēc IN klauzulas mēs norādām vērtību sarakstu, ko vēlamies izmantot filtrēšanai.



1. piemērs: filtrējiet vienu rezultātu

Lai labāk parādītu, kā izmantot WHERE IN klauzulu, apskatīsim piemēru. Apsveriet 'filmu' tabulu no Sakila paraugu datu bāzes.





Pieņemsim, ka mēs vēlamies izgūt visas filmas ar vērtējumu PG vai PG-13. Mēs varam izmantot WHERE IN klauzulu šādi:

SELECT virsraksts, izlaiduma_gads, vērtējums
NO filmas
WHERE vērtējums IN ('PG');

Šajā gadījumā mēs sniedzam vienas vērtības sarakstu, kuru vēlamies izgūt klauzulā IN.



2. piemērs: filtrējiet vairākas vērtības

Vērtību sarakstā varam norādīt arī vairāk nekā vienu vienumu. Piemēram, lai izgūtu filmas ar sarakstu ar vērtējumu PG un PG-13, mēs varam izpildīt vaicājumu šādi:

SELECT virsraksts, izlaiduma_gads, vērtējums
NO filmas
WHERE vērtējums IN ('PG', 'PG-13');

Rezultātā iegūtais rezultāts ir šāds:

3. piemērs. Filtrs ar apakšvaicājumu

Mēs varam arī izmantot WHERE IN apakšvaicājumā, kas ļauj mums filtrēt rezultātus no noteiktas rezultātu kopas.

Pieņemsim, ka mēs vēlamies filtrēt filmas, pamatojoties uz valodu. Piemēram, lai izgūtu filmas angļu un japāņu valodā, mēs varam izmantot WHERE IN apakšvaicājumā šādi:

SELECT virsraksts, izlaiduma_gads, vērtējums
NO filmas f
WHERE language_id IN (
ATLASĪT valodas_id
NO valodas
WHERE nosaukums IN (angļu, japāņu)
);

Šajā piemērā mēs izveidojam apakšvaicājumu, kas no tabulas “languages” izgūst “language_id” vērtības angļu un japāņu valodām. Galvenajā vaicājumā mēs atlasām filmas, pamatojoties uz iegūtajām “language_id” vērtībām.

Secinājums

Šajā ziņojumā mēs uzzinājām, kā strādāt ar WHERE IN klauzulu SQL, lai filtrētu rezultātus, kas atbilst vienai vai vairākām vērtībām noteiktā sarakstā.