Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: IN czy OR, propel
Forum PHP.pl > Forum > Bazy danych > MySQL
Foxx
Witam, przyszło mi do głowy takie pytanie - jaka jest różnica między używaniem IN a OR w zapytaniu SQL? Używam Propela, żeby utworzyć w nim OR trzeba zrobić mniej więcej tak:

  1. $criterion1 = $c->getNewCriterion(UzytkownikStatusPeer::SLUG, 'projektant');
  2. $criterion2 = $c->getNewCriterion(UzytkownikStatusPeer::SLUG, 'sprzedawca');
  3. $c->add($criterion1->addOr($criterion2));


Natomiast taki sam efekt uzyskam używając IN, a kod będzie wyglądał tak:

  1. $c->add(UzytkownikStatusPeer::SLUG, array('projektant', 'sprzedawca'), Criteria::IN);


Czy są jakieś przeciwwskazania przed używaniem IN poza tym, że czasami nie da się go użyć (np. WHERE wiek>'10' OR wiek<'4') ?
wookieb
Taka sama różnica jak w używaniu OR czy in_array
Za pomocą OR możesz "zasymulować" in_array ale za pomocą in_array nie zawsze możesz zrobić OR.
Nie ma przeciwskazań co do IN
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.