Jesteś tutaj: webmade.org >> kursy online >> kurs mysql >> Część 2
autor: Piotr Kuźmiński, ostatnia modyfikacja: 2007-10-14
Jak na razie nasze zapytania opierały się na pojedynczym warunku. Co jednak zrobić w przypadku gdy chcemy dokładniej określić zakres działania naszego zapytania i jeden warunek jest niewystarczający? W tym momencie przychodzą nam z pomocą operatory, oto kilka z nich:
AND - operator logiczny łączący warunki, przykład działania:
SELECT `id`, `nazwisko` FROM `nba` WHERE `punkty` > 100 AND `mistrzostwa` > 50
W powyższym przykładzie wybrane zostaną wszystkie rekordy, w których wartość pola punkty będzie większa od 100 i wartość pola mistrzostwa będzie większa od 50 - obydwa warunki muszą być spełnione.
OR - operator logiczny "lub" wymagający spełnienia przynajmniej jednego z warunków. Przykła
SELECT `id`, `nazwisko` FROM `nba` WHERE `punkty` >= 100 OR `mistrzostwa` >= 50
Wybrane zostaną tylko te rekordy, w których wartość pola punky jest większa lub równa 100 lub wartość pola mistrzostwa jest większa lub równa 50 - jeden z dwóch warunków musi być spełniony.
IN - operator sprawdzający przynależność elementu do zadanego zbioru. Elementy zbioru podaje się w nawiasach okrągłych i wymienia po przecinkach. Przykład:
SELECT `id`, `nazwisko` FROM `nba` WHERE `id` IN (1,2,3)
Wybrane zostaną wszystkie rekordy, których pole id będzie równie 1, 2 lub 3. Czyli faktycznie wybrane zostaną trzy rekordy o z polami id o wartościach podanych w nawiasach okrągłych. W przypadku gdy mamy do czynienia ze zbiorem ciągłym lepiej będzie wykorzystać operator:
BETWEEN - operator sprawdzający przynależność elementu do danego przedziału. Przykład:
SELECT `id`, `nazwisko` FROM `nba` WHERE `id` BETWEEN 1 AND 5
Wybrane zostaną wszystkie rekordy, których pole id będzie z przedziału 1 do 5.
NOT - operator zaprzeczenia. Możemy go łączyć z innymi operatorami np "NOT BETWEEN" czy "NOT IN". Przykład:
SELECT `id`, `nazwisko` FROM `nba` WHERE `id` NOT BETWEEN 1 AND 5
Wybrane zostaną wszystkie rekordy, których pole id będzie z poza przedziału 1 do 5.
Łącząc powyższe operatory moglibyśmy np. wyszukać wszystkich zawodników z naszej tabeli, którzy grają co najmniej 10 do maksymalnie 15 lat i w tych mistrzostwach zdobyli już co najmniej 20 punków. Konstrukcja taka wyglądałaby następująco:
SELECT `id`, `nazwisko` FROM `nba` WHERE `lata` BETWEEN 10 AND 15 AND `punkty` > 20
Piotr Kuźmiński
szukaj: operatory logiczne kurs mysql
Zagadnienia poruszane w tej części kursu:
© 2004-2008 copyright by webmade.org