Конструкции where в sql


Download 19.43 Kb.
Sana25.02.2023
Hajmi19.43 Kb.
#1230363
Bog'liq
maruza-08-where


SQL – WHERE |



WHERE
При выборке записей из таблицы практически всегда требуется задавать определённые условия, по которым мы определяем, какие записи нам нужны, а какие - нет. И именно эти условия можно задавать с помощью конструкции WHERE в SQL. Я уже знакомил Вас с ней, но в этой статье решил познакомить с WHERE немного поближе.
Начну с простого примера выборки с использованием конструции WHERE в SQL:

SELECT * FROM table WHERE count=5

Вернутся записи, в которых поле "count" имеет значение 5. Теперь усложним запрос:



SELECT * FROM table WHERE count=5 AND id < 100

Таким образом, вернутся записи, у которых поле "count" имеет значение 5 И поле "id" имеет значение меньше 100.


Разумеется, Вы можете использовать и другие логические операции. Их полный список:

  • ! (отрицание)

  • AND (И)

  • OR (ИЛИ)

  • XOR (ИСКЛЮЧАЮЩЕЕ ИЛИ, иногда ещё называют МОНТАЖНОЕ ИЛИ, но такое название встречается в основном в микропроцессорной литературе)


Пример с использованием нескольких логических операторов:
SELECT * FROM table WHERE !(id <= 120 AND (count=10 OR date > "10/11/1980"))

Вот такой, на первый взгляд, сложный SQL-запрос. Постарайтесь в нём разобраться самостоятельно.


Также конструкция WHERE в SQL может содержать LIKELIKE позволяет определить, совпадает ли указанная строка с определённым шаблоном. Чтобы стало немного понятнее, приведу пример:
SELECT * FROM table WHERE text LIKE "%some text%"
Данный SQL-запрос вернёт result_set, содержащий записи, в которых поле "text" имеет такой текст: "some text". Обратите внимание, что это не проверка на равенство. Текст может быть огромным, но если в нём содержитася строка: "some text", то LIKE вернёт true.
Давайте напишу, как задаётся шаблон для LIKE:

  • % - это то, что мы с Вами использовали. Используется он чаще всего и означает он любую строку любой длины. Фактически, строкой "%some text%" мы говорим, что сначала идёт любая строка любой длины, затем "some text", а затем вновь любая строка любой длины. Если текст удовлетворяет этому шаблону, то вернуть true, иначе false.

  • [ ] - это одиночный символ. Чтобы использовать этот шаблон необходимо задавать диапазоны, например, так: "[a-z]some%". Данный шаблон будет означать, что сначала идёт 1символ (любой символ от a до z), далее "some" и потом любая строка любой длины.

  • _ - это любой одиночный символ.

  • [^] - это противоположность [ ]. Например, можно привести такой пример: "[^az]some_". Данный шаблон означает, что вначале идёт любой символ, но только НЕ "a" и НЕ "z". Далее должна идти строка "some", а после только один одиночный символ.

Знание и умение использования LIKE очень важно, поверьте моему опыту. Самый простой пример использования LIKE - это поиск по сайту. Ведь контент находится в базе данных, и необходимо вытащить только те записи, в которых содержится строка, заданная в строке поиска. И тут приходит на помощь LIKE. Именно так реализован поиск мною на этом сайте.
Download 19.43 Kb.

Do'stlaringiz bilan baham:




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling