SQLinfo.ru - Все о MySQL

Форум пользователей MySQL

Задавайте вопросы, мы ответим

Вы не зашли.

#1 02.08.2010 15:45:52

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

OR или AND вот в чем вопрос:)

помогите с запросом... вроде бы запроса элементарнее не бывает, но не получаеться...

одна из комбинаций данного запроса
$result=mysql_query("SELECT * FROM users_m WHERE country='$country' AND gender='1' OR gender='2' LIMIT $start, $num",$db);

нужно выбрать из users_m country которая = $country и gender, которые равны 1 ИЛИ 2...

по отдельности работают (country='$country') и (gender='1' OR gender='2') а вместе выбирают вообще без всякой логикиsmile

Неактивен

 

#2 02.08.2010 16:24:48

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: OR или AND вот в чем вопрос:)

А Вы расставьте скобки так, как считаете логичным прямо в запросе?

OR имеет более высокий приоритет, поэтому у Вас сейчас написано
«мальчики из России или девочки».

Неактивен

 

#3 02.08.2010 16:38:48

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: OR или AND вот в чем вопрос:)

спасибо. вроде получилосьsmile я не знал что в таком легком запросе можно и НУЖНО скобки использоватьsmilesmilesmile

Неактивен

 

#4 02.08.2010 16:46:13

serj011
Активист
Зарегистрирован: 22.04.2010
Сообщений: 234

Re: OR или AND вот в чем вопрос:)

а можно еще один вопрос?
чем отличаются эти две строчки?
WHERE meta_d LIKE '%$search%'
WHERE meta_d='$search'

просто техникой написания?

Неактивен

 

#5 02.08.2010 17:00:10

paulus
Администратор
MySQL Authorized Developer and DBA
Зарегистрирован: 22.01.2007
Сообщений: 6757

Re: OR или AND вот в чем вопрос:)

Тем, что первая найдет строки, которые содержат слово, а вторая — которые
совпадают со словом. Первая при этом ужасна, т.к. не использует индекс никогда.
Если нужно искать слова, то имеет смысл воспользоваться полнотекстовым индек-
сом (http://dev.mysql.com/doc/refman/5.1/en/ … earch.html)

Неактивен

 

Board footer

Работает на PunBB
© Copyright 2002–2008 Rickard Andersson