Explorar el Código

WHERE and LIMIT

me@helium hace 8 años
padre
commit
1deff43300
Se han modificado 1 ficheros con 21 adiciones y 0 borrados
  1. 21 0
      SQL.md

+ 21 - 0
SQL.md

@@ -287,9 +287,30 @@ SELECT * FROM person ORDER by id;
 SELECT * FROM person ORDER by date_of_birth;
 SELECT * FROM person ORDER by father_name desc;
 ```
+**Не обязательно** использовать имена полей в `ORDER BY`; можно использовать разные конструкции и функции Mysql, например `RAND()` для случайной выборки.
 
 ### `WHERE` и `LIMIT`
 
+Как вы заметили выше, `WHERE` - очень мощный инструмент, который позволяет строить практически любые условия. Как и в языках программирования, возможно
+использовать логические операции (`OR`, `AND`, `NOT`), операции сравнения и другие выражения.
+
+```mysql
+SELECT * FROM person WHERE date_of_birth > "2000-01-01";
+SELECT * FROM person WHERE date_of_birth > "2000-01-01" AND name = 'Ivan';
+SELECT * FROM person WHERE date_of_birth > "2000-01-01" OR  name IN ('Petr', 'Vasiliy');
+SELECT * FROM person WHERE id % 2 = 0;
+```
+
+`LIMIT` позволяет получить только часть выборки, именно благодаря этой функции работает пагинация на подавляющем большинстве сайтов:
+```mysql
+SELECT * FROM person LIMIT 1 
+```
+выдает одну запись сначала выборки согласно сортировке
+```mysql
+SELECT * FROM person LIMIT 1,2 
+```
+выдает две записи начиная со второй записи (пропуская 1 запись от начала) выборки согласно сортировке. Таким образом, `LIMIT N` аналогичен `LIMIT 0,N`
+
 ### `GROUP BY` и агрегация
 
 ### `DISTINCT`