Zadanie 3.

Należy przeprowaszić eksperyment w celu określenia pierszeństwa w przypadku zapytania zawierającego trzy warunki połączone ze sobą za pomocą AND i OR. Czy pierszeństwo ma klauzula AND lub OR, czy może obowiązuje zasada “od lewej strony do prawej”?

Należy wykonać nastepujące zapytanie

SELECT *

FROM Student

WHERE stnr < 100 AND kier = `INFO' OR kier = `KSIE'

W dalszej kolejności należy zastosować dwa poniższe zapytania i stwierdzić, które wygeneruje taki sam wynik jak poprzednie zapytanie pozbawione nawiasów okragłych.

Odp. Podczas stosowania klauzuli AND i OR nie obowiązuje pierszeństwo dla żadnej z nich - zostaną one wykonane w kolejności w jakiej zostały one zapisane (zasada od lewej strony do prawej”). Pierszeństwo maja jedynie klauzule zawarte w nawiasach (sa one wykonywane w pierwszej kolejności a po nich pozostale)

  1. To zapytanie wygeneruje identyczny wynik co wersja bez nawiasów okragłych (osoby do numeru 100 z kierunku INFORMATYKA i wszyscy z KSIĘGOWOŚCI)

SELECT *

FROM Student

WHERE ( stnr < 100 AND kier = `INFO' ) OR kier = `KSIE'

SELECT *

FROM Student

WHERE stnr < 100 AND ( kier = `INFO' OR kier = `KSIE' )

  1. Jeżeli zamienimy w kolejności OR z AND (jak poniżej) wynik bedzie nastepujący - tabela wyświetli osoby do numeru 100 z kierunków INFORMATYKA I KSIĘGOWOŚĆ

SELECT *

FROM Student

WHERE stnr < 100 OR kier = `INFO' AND kier = `KSIE'