webmaster webmastering webdesign

Jesteś tutaj: webmade.org >> kursy online >> kurs mysql >> Część 2

Operatory logiczne

autor: Piotr Kuźmiński, ostatnia modyfikacja: 2007-10-14

szukaj: operatory logiczne operatory logiczne kurs mysql kurs mysql

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

Zagadnienia poruszane w tej części kursu:

Chcesz zostać programistą?

Poznaj 6 kroków do efektywnej
nauki programowania!

 

valid XHTML
valid CSS
© 2004-2008 copyright by webmade.org