Главная SQL Where
E-mail Печать PDF

WHERE - используется для фильтрации записей


WHERE используется для получения только тех записей, которые соответствуют определенным условиям.

Синтаксис SQL WHERE

SELECT column_name(s)
FROM table_name
WHERE column_name operator value

Пример WHERE

Есть таблица "Persons":

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes
3 Pettersen Kari Storgt 20 Stavanger

Итак, мы хотим выбрать только людей, которые проживают в городе"Sandnes" из таблицы выше

Для этого используем такой запрос:

1
2
SELECT * FROM Persons
WHERE City='Sandnes'

Результат запроса:

P_IdLastNameFirstNameAddressCity
1 Hansen Ola Timoteivn 10 Sandnes
2 Svendson Tove Borgvn 23 Sandnes

Кавычки

SQL использует одинарные кавычки для текста (во многих базах данных также используются двойные кавычки).

Числовые значения не должны быть заключены в кавычки.

Для текстовых значений:

1
2
SELECT * FROM Persons WHERE FirstName='Tove' // Это правильно:
SELECT * FROM Persons WHERE FirstName=Tove // Это неверно:

Для числовых значений:

1
2
SELECT * FROM Persons WHERE Year=1965 // Это правильно:
SELECT * FROM Persons WHERE Year='1965' // Это неверно:

Допустимые операторы при использовании WHERE

ОператорОписание
= Равно
<> Не равно
> Больше чем
< Меньше чем
>= Больше или равно
<= Меньше или равно
BETWEEN Выбор значения в заданном диапазоне
LIKE Поиск по шаблону
IN Если вы знаете точное значение, которое должно быть возвращено - то можно использовать данный оператор.

Note Замечание: В некоторых версиях SQL оператор <> может быть записан как !=

Комментарии

 
-1 #1 javadov 2010-12-06 18:34 можно ли использовать 2 раза оператор where
SELECT DISTINCT id,name,sername FROM Table1 where deleted=0 order by id
как мне добавить where name like='Tom' в этом запросе ???
Цитировать
 
 
-6 #2 javadov 2010-12-06 18:35 Цитирую javadov:
можно ли использовать 2 раза оператор where
SELECT DISTINCT id,name,sername FROM Table1 where deleted=0 order by id
*как мне добавить where name like='Tom' в этом запросе ???

как мне добавить where name LIKE'+quotedstr(edit 1.text+'%') в этом запросе ???
Цитировать
 
 
+1 #3 yangus 2011-02-08 12:29 Цитирую javadov:
Цитирую javadov:
можно ли использовать 2 раза оператор where
SELECT DISTINCT id,name,sername FROM Table1 where deleted=0 order by id
*как мне добавить where name like='Tom' в этом запросе ???

как мне добавить where name LIKE'+quotedstr(edit 1.text+'%') в этом запросе ???

SELECT DISTINCT id,name,sername FROM Table1
where deleted=0 and name like 'Tom' // только зачем тут like использовать?!
order by id
Цитировать
 
 
+1 #4 Wd45 2012-04-02 23:07 Есть таблица:Name|F1|F2|…Fn|
Есть слова G1…Gz, где z и n не обязательно равны.
Нужно вывести строку или строки с Name, в которых есть совпадения всех слов G со значениями в полях F
Таблица формируеться динамически и не извыетсно сколько F- столбцов.
Цитировать
 

Авторизация

Nice Ajax Poll

Какое из моих расширений самое лучшее?

Статистика



Реклама