niedziela, 23 marca 2014

Zapytanie WHERE, kombinacje | Podstawy Sqla - cz.3

W poprzedniej części nauczyliśmy się wyszukiwać Brzęczyszczykiewicza z bazy poznając przy okazji słówko kluczowe WHERE. Możliwości tej klauzuli nie kończą się na porównywaniu określonych ciągów tekstowych (stringów) czy liczbowych, a dają cały asortyment by nasze zapytanie stało się takim jakim chcemy.

LIKE

Wyobraźmy sobie sytuację, gdzie w bazie mamy trzech panów: pan Robert Adamski, pan Bartłomiej Adamczyk, pan Adam Małysz. Naszym pierwszym celem są panowie, którzy mają w nazwisku ciąg "Adam", czyli chcielibyśmy w wynikach zobaczyć Adamskiego oraz Adamczyka. Małysz oczywiście nie powinien się dokoptować do wyników z racji iż jego nazwisko nie pasuje do naszego wzorca. Z pomocą przychodzi klauzula LIKE, którą używamy przy okazji WHERE. Oznacza porównywanie tekstu, ale nie identyczność od początku do końca. Przykład rozjaśni tą sprawę:

Select * FROM Klienci WHERE nazwisko LIKE 'Adam%'

,widzimy słówko kluczowe LIKE a następnie 'Adam%' co oznacza znajdź wszystkich o nazwisku Adam ... a znak procentu % mówi, że dalej może się dziać co chce czyli daje możliwość wyszukania Adamskiego czy Adamczyka.

OPERATOR LOGICZNY AND

Aby Adam M. nie poczuł się urażony stworzymy zapytanie, które pomoże mu znaleźć się w wynikach. Wykorzystamy do tego operator logiczny AND a przy okazji zobaczymy kombinację poszerzającą nasze horyzonty. Czyli zróbmy sobie powyższe kryteria oraz dodajmy panów, którzy mają na imię tylko i wyłącznie Adam. Można to ująć w ten sposób:

Select * FROM Klienci WHERE nazwisko LIKE 'Adam%' AND imie = 'Adam'

Dodaliśmy "AND imie = 'Adam'" co tłumaczyć nie trzeba a co daje panu Adamowi miejsce w naszej liście klientów.

Brak komentarzy :

Prześlij komentarz