Wprowadzenie do klauzuli WHERE

Jak wszyscy wiemy, SQL (Structured Query Language) jest jednym z najczęściej używanych języków relacyjnych baz danych (baza danych, w której zapisywane są rekordy w postaci wierszy i kolumn). W zapytaniach SQL są uruchamiane w celu trafienia do bazy danych w celu wykonania żądanych operacji, czy to DML (Data Manipulation Language), DDL (Data Definition Language) lub DCL (Data Control Language). SQL używa niektórych klauzul, takich jak GDZIE, GRUPUJ WEDŁUG, POSIADAJĄC, ORDER BY, które wykonują określone operacje. Klauzula WHERE służy do stosowania warunków i filtrowania wyników podczas pobierania lub manipulowania danymi z bazy danych. Jest on używany z instrukcją SELECT, UPDATE i DELETE, również klauzula WHERE jest opcjonalna do użycia z nimi.

Ogólnie rzecz biorąc, klauzula WHERE,

  • Służy do filtrowania wierszy według podanych kryteriów.
  • Ogranicza liczbę zwracanych wierszy.
  • Po którym następuje warunek logiczny, który zwraca true lub false.
  • Działa tylko wtedy, gdy wymieniony warunek zwraca wartość true.
  • Można go używać z instrukcjami SELECT, UPDATE lub DELETE.

1. Składnia z WYBIERZ

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

Tutaj SELECT pobierze wszystkie dane z kolumny 1, kolumny 2, kolumny 3 z tabeli (nazwanej jako nazwa_tabeli), a klauzula WHERE stosuje warunki do danych pobranych przez instrukcję SELECT i filtruje je zgodnie z warunkiem wymienionym w instrukcji.

2. Składnia z UPDATE

UPDATE table_name SET column_name = value WHERE condition;

Tutaj Aktualizacja zaktualizuje wartość dla nazwa_kolumny, pod warunkiem, że warunek.

Operatory porównania i logiczne mogą być również używane z warunkiem GDZIE, takim jak i, lub, nie, JAK, <, = itd.

3. Składnia z DELETE

DELETE from table_name WHERE condition;

W powyższej składni:

Nazwa tabeliNazwa tabeli, na której należy wykonać operacje.
stanOkreśla warunek filtrowania, według którego rekordy muszą być filtrowane
lista_kolumnowaNazwa kolumn tabeli

Przykłady

Rozważ tabelę studentów mającą różne kolumny i wartości wymienione poniżej:

Stu_idStu_nameAdres StuStu_phnoStu_percentage
1RahulAgra955780662585
2)AnkitDelhi885566447175
3)ShailendraNoida721345789692

Scenariusz nr 1

Pobierz identyfikator studenta, nazwisko, adres i odsetek wszystkich studentów, którzy uzyskali więcej niż 80 procent.

Pytanie

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

Wynik:

Liczba rekordów: 2

Stu_idStu_nameAdres StuStu_percentage
1RahulAgra85
3)ShailendraNoida92

Scenariusz nr 2

Zaktualizuj procent Rahula o 2 procent.

Pytanie

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

Wynik:

Rzędy wpływające: 1

Jeśli trafimy w zapytanie, aby wyświetlić zaktualizowane pola:

Pytanie

SELECT * from students WHERE Stu_name ='Rahul';

Wynik:

Liczba rekordów: 1

Stu_idStu_nameAdres StuStu_percentage
1RahulAgra87

Scenariusz nr 3

Student Ankit opuścił szkołę, więc usuń cały jego rekord ze stołu.

Pytanie

DELETE from students WHERE Stu_name = 'Ankit';

Wynik:

Rzędy wpływające: 1

Aby wyświetlić zaktualizowanego ucznia tabeli:

Pytanie

SELECT * from students;

Wynik:

Rzędy wpływ: 2

Stu_idStu_nameAdres StuStu_phnoStu_percenta ge
1RahulAgra955780662587
3)ShailendraNoida721345789692

GDZIE klauzule Operacje

Klauzula WHERE zawiera warunki, według których wartości bazy danych są filtrowane. Z klauzulą ​​WHERE można korzystać z różnych operatorów. Niektóre z nich podano poniżej w tabeli z przykładem:

S.No.OperatorOpisPrzykład
1.IZwraca true, jeśli oba warunki są zgodneWYBIERZ * od studentów GDZIE Stu_name = 'Rahul' i Stu_percentage = 85;
2)LUBZwraca true, jeśli którykolwiek z

warunki dopasowania

WYBIERZ * od studentów GDZIE Stu_name = 'Rahul' lub Stu_name = 'Shalendra';
3)WWartość odpowiada dowolnej z wielu podanych wartościWYBIERZ * od studentów GDZIE Stu_city IN („AGRA”, „NOIDA”);
4NIE WWartość nie pasuje do żadnej z wielu podanych wartościWYBIERZ * od studentów GDZIE STU_city NOT IN („AGRA”, „NOIDA”);
5=RównyWYBIERZ * od studentów GDZIE

Stu_name = 'Rahul';

6.>Lepszy niżWYBIERZ * od studentów GDZIE Stup_percentage> 80;
7<Mniej niżWYBIERZ * od studentów GDZIE Stu_percentage <78;
8> =Większe bądź równeWYBIERZ * od studentów GDZIE Stu_percenetage> = 70;
9<=Mniejszy lub równyWYBIERZ * od studentów GDZIE Stu_percenetage <= 70;
10Nie równa sięWYBIERZ * od studentów GDZIE Stu_percentage 75;
11POMIĘDZYWartość leży między pewnym zakresemWYBIERZ * od studentów GDZIE

Stu_percentage MIĘDZY 70 A 85;

12LUBIĆWartości pasują do określonego wzorca. Służy do wyszukiwania symboli wieloznacznychWYBIERZ * od studentów GDZIE Stu_city LIKE „AG%”;

Uwaga: Podczas pracy z klauzulą ​​WHERE należy pamiętać o jednej rzeczy: podczas określania warunku wartości liczbowe nie są cytowane w pojedynczych cudzysłowach (''), podczas gdy wartości tekstowe (varchar) muszą być cytowane pojedynczo cytaty (' ').

Jak działa klauzula WHERE w SQL?

Chociaż powyższe przykłady wyraźnie pokazują, w jaki sposób klauzula WHERE jest używana do filtrowania danych zgodnie z warunkiem określonym przez użytkownika i umożliwia szybsze wykonanie kodu SQL, ponieważ liczba zwracanych rekordów jest ograniczona przez ten warunek. Optymalizator zapytań SQL działa najpierw na zapytaniu przy użyciu FROM (tabela, na której należy wykonać operację) w celu pobrania, usunięcia lub aktualizacji, a następnie zastosowania klauzuli WHERE do wyników.

Klauzuli WHERE można użyć tylko wtedy, gdy musimy filtrować wyniki w pojedynczej tabeli lub łączyć tabele, ponieważ działa ona na danych wierszy, ale gdy w przypadku funkcji agregujących WHERE nie można zastosować do zastosowania warunków do zapytania.

Rozważmy scenariusz, w którym nie można użyć klauzuli WHERE:

Scenariusz: w tabeli „filmów” pobierz wszystkie szczegóły dotyczące filmów, które zarabiają ponad 10 koron w poszczególnych latach, takich jak (2000, 2010, 2012..etc)

Pytanie:

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

W powyższym przykładzie użyto klauzuli HAVING zamiast WHERE, ponieważ klauzula WHERE nie może być używana w funkcjach agregujących, podczas gdy HAVING może i jest to również jedna z głównych różnic między klauzulą ​​WHERE a HAVING

Wniosek - klauzula SQL GDZIE

Powyższe wyjaśnienie wyraźnie pokazuje użycie klauzuli WHERE i jej implementację dla różnych scenariuszy w zapytaniach SQL. Przed napisaniem jakiegokolwiek zapytania należy pamiętać o użyciu każdej klauzuli i scenariuszu, w którym należy użyć tej konkretnej klauzuli lub słowa kluczowego.

Polecane artykuły

Jest to przewodnik po klauzuli SQL WHERE. Tutaj omawiamy użycie klauzuli WHERE i jej implementację w różnych scenariuszach. Możesz także przejrzeć nasze inne sugerowane artykuły -

  1. Rodzaje złączeń w SQL
  2. Symbole wieloznaczne w MySQL
  3. Zapytanie wstawiania SQL
  4. Klucz obcy w SQL
  5. Top 6 rodzajów połączeń w MySQL z przykładami