Úvod do klauzule WHERE

Jak všichni víme, SQL (Structured Query Language) je jedním z nejčastěji používaných jazyků pro relační databáze (databáze, ve které jsou záznamy ukládány ve formě řádků a sloupců). V SQL jsou spouštěny dotazy, aby zasáhly databázi za účelem provedení požadovaných operací, ať už jde o operace DML (Data Manipulation Language), DDL (Data Definition Language) nebo DCL (Data Control Language). SQL používá některá klauze jako WHERE, GROUP BY, HAVING, ORDER BY, které provádějí specifické operace. Klauzule WHERE se používá k použití podmínek a odfiltrování výsledků při získávání nebo manipulaci s veškerými daty z databáze. Používá se s příkazy SELECT, UPDATE a DELETE také klauzule WHERE je volitelná pro použití s ​​nimi.

Obecně řečeno, klauzule WHERE,

  • Slouží k filtrování řádků podle zadaných kritérií.
  • Omezuje počet vrácených řádků.
  • Následuje logická podmínka, která vrací buď true nebo false.
  • Funguje, pouze pokud uvedená podmínka vrací true.
  • Může být použit s příkazy SELECT, UPDATE nebo DELETE.

1. Syntaxe pomocí SELECT

SELECT column1, column2, column3… from table_name WHERE condition;

Zde SELECT načte všechna data ze sloupců 1, sloupce 2, sloupce 3 z tabulky (pojmenované jako název_tabulky) a klauzule WHERE aplikuje podmínky na data získaná příkazem SELECT a filtruje je podle podmínek uvedených v příkazu.

2. Syntaxe s UPDATE

UPDATE table_name SET column_name = value WHERE condition;

Zde Aktualizace aktualizuje hodnotu pro název sloupce s podmínkami, pokud jsou splněny.

Srovnávací a logické operátory lze také použít s podmínkami WHERE jako a, nebo ne, LIKE, <, =, atd.

3. Syntaxe pomocí DELETE

DELETE from table_name WHERE condition;

Ve výše uvedené syntaxi:

název_tabulkyNázev tabulky, na které je třeba provést operace.
stavUrčuje podmínku filtru, pro které je třeba filtrovat záznamy
column_listNázev sloupců tabulky

Příklady

Zvažte tabulku studentů s různými sloupci a hodnotami uvedenými níže:

Stu_idStu_nameStu_addressStu_phnoStu_percentage
1RahulAgra955780662585
2AnkitDillí885566447175
3ShailendraNoida721345789692

Scénář č. 1

Získejte ID studenta, jeho jméno, adresu a procento všech studentů, kteří získali více než 80 procent.

Dotaz

SELECT Stu_id, Stu_name, Stu_address from students WHERE Stu_percentage > 80;

Výsledek:

Počet záznamů: 2

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra85
3ShailendraNoida92

Scénář č. 2

Aktualizujte procento Rahul o 2 procenta.

Dotaz

UPDATE students SET Stu_percentage = Stu_percentage+2 WHERE Stu_name ='Rahul';

Výsledek:

Ovlivněné řádky: 1

Pokud narazíme na dotaz, zobrazí se aktualizovaná pole:

Dotaz

SELECT * from students WHERE Stu_name ='Rahul';

Výsledek:

Počet záznamů: 1

Stu_idStu_nameStu_addressStu_percentage
1RahulAgra87

Scénář č. 3

Student Ankit opustil školu, takže smažte celý jeho záznam ze stolu.

Dotaz

DELETE from students WHERE Stu_name = 'Ankit';

Výsledek:

Ovlivněné řádky: 1

Zobrazení aktualizovaného studenta tabulky:

Dotaz

SELECT * from students;

Výsledek:

Ovlivněné řádky: 2

Stu_idStu_nameStu_addressStu_phnoStu_percenta ge
1RahulAgra955780662587
3ShailendraNoida721345789692

WHERE klauzule Operations

Klauzule WHERE obsahuje podmínky pro filtrování hodnot databáze. S klauzulí WHERE lze použít různé operátory. Některé z nich jsou uvedeny níže v tabulce s příkladem:

S.No.OperátorPopisPříklad
1.AVrací true, pokud se obě podmínky shodujíVYBRAT * od studentů WHERE Stu_name = 'Rahul' a Stu_percentage = 85;
2.NEBOVrací true, pokud některý z

stavové zápasy

VYBRAT * od studentů WHERE Stu_name = 'Rahul' nebo Stu_name = 'Shalendra';
3.VHodnota odpovídá libovolné z více zadaných hodnotVYBRAT * od studentů, KDE Stu_city IN ('AGRA', 'NOIDA');
4.NE VHodnota neodpovídá žádné z více zadaných hodnotVYBRAT * od studentů, KDE Stu_city NEJSOU ('AGRA', 'NOIDA');
5.=Rovnat seVYBRAT * od studentů KDE

Stu_name = 'Rahul';

6.>Větší nežVYBRAT * od studentů KDE Stu_percentage> 80;
7.<Méně nežVYBRAT * od studentů KDE Stu_percentage <78;
8.> =Větší nebo rovnoVYBRAT * od studentů WHERE Stu_percenetage> = 70;
9.<=Méně než nebo rovnoVYBRAT * od studentů WHERE Stu_percenetage <= 70;
10.Není rovnoVYBRAT * od studentů WHERE Stu_percentage 75;
11.MEZIHodnota leží mezi určitým rozsahemVYBRAT * od studentů KDE

Stu_percentage MEZI 70 A 85;

12.JAKOHodnoty odpovídají určitému vzoru. Používá se k vyhledávání zástupných znakůVYBRAT * od studentů KDE Stu_city LIKE 'AG%';

Poznámka: Při práci s klauzulí WHERE je třeba mít na paměti jednu věc, že ​​při určování podmínky nejsou číselné hodnoty citovány v jednoduchých uvozovkách (''), zatímco textové hodnoty (varchar) musí být uváděny v jednom citáty (' ').

Jak funguje klauzule WHERE v SQL?

Ačkoli výše uvedené příklady jasně ukazují, jak se klauzule WHERE používá k filtrování dat podle podmínek zadaných uživatelem a umožňuje rychlejší spuštění kódu SQL, protože počet vrácených záznamů je podmínkou omezen. Optimalizátor dotazů SQL pracuje nejprve na dotazu pomocí tabulky FROM (tabulka, na které je třeba provést operaci), aby se buď načítalo, odstranilo nebo aktualizovalo a poté se na výsledky použila klauzule WHERE.

WHERE klauzule lze použít pouze tehdy, když potřebujeme filtrovat výsledky v jedné tabulce nebo spojení tabulek, protože funguje na datech řádků, ale v případě agregačních funkcí nelze WHERE použít k použití podmínek na dotaz.

Podívejme se na scénář, kde nelze použít klauzuli WHERE:

Scénář: V tabulce „filmů“ načtěte všechny podrobnosti o filmech, které v konkrétních letech vydělají více než 10 crores (2000, 2010, 2012..etc)

Dotaz:

SELECT * from movies GROUP BY Year_released HAVING earnings > 10;

Výše uvedený příklad používá klauzuli HAVING namísto WHERE, protože klauzule WHERE nelze použít v agregovaných funkcích, zatímco HAVING může, a to je také jeden z hlavních rozdílů mezi klauzulí WHERE a HAVING

Závěr - SQL WHERE Klauzule

Výše uvedené vysvětlení jasně ukazuje použití klauzule WHERE a její implementaci pro různé scénáře v dotazech SQL. Před zapisováním jakéhokoli dotazu je třeba mít na paměti použití každé klauze a scénář, ve kterém by se tato konkrétní klauzule nebo klíčové slovo mělo použít.

Doporučené články

Toto je průvodce klauzulí SQL WHERE. Zde diskutujeme o použití klauzule WHERE a její implementaci pro různé scénáře. Můžete si také prohlédnout naše další doporučené články -

  1. Typy spojení v SQL
  2. Zástupné znaky v MySQL
  3. SQL Vložit dotaz
  4. Cizí klíč v SQL
  5. Top 6 typů spojení v MySQL s příklady