Вверх ↑
Ответов: 16884
Рейтинг: 1239
#1: 2011-10-07 13:04:09 ЛС | профиль | цитата
hitman249 писал(а):
iarspider, эх, ещёбы вы рассказали что делает ?...
WIKI-> Справка по SQLITE -> Синтаксис SQLite

LIMIT - сколько строк
OFFSET - отступив от начала таблицы
------------ Дoбавленo в 12.54:
Во избежание дальнейших вопросов.

sql-statement ::=
SELECT [ALL | DISTINCT] result [FROM table-list]
[WHERE expr]
[GROUP BY expr-list]
[HAVING expr]
[compound-op select]*
[ORDER BY sort-expr-list]
[LIMIT integer [( OFFSET | , ) integer]]



result ::= result-column [, result-column]*

result-column ::= * | table-name . * | expr [ [AS] string ]

table-list ::= table [join-op table join-args]*

table ::= table-name [AS alias] | ( select ) [AS alias]

join-op ::= , | [NATURAL] [LEFT | RIGHT | FULL] [OUTER | INNER | CROSS] JOIN

join-args ::= [ON expr] [USING ( id-list )]

sort-expr-list ::= expr [sort-order] [, expr [sort-order]]*

sort-order ::= [ COLLATE collation-name ] [ ASC | DESC ]

compound_op ::= UNION | UNION ALL | INTERSECT | EXCEPT
Команда SELECT используется для запросов к базе данных. Результат SELECT - нуль или более записей, каждая из которых содержит фиксированное число столбцов. Количество столбцов в результате определяется списком выражений между ключевыми словами SELECT и FROM. Любое вычисляемое выражение может использоваться как результат. Если используется *, тогда возвращаются все столбцы всех таблиц. Если перед .* стоит имя таблицы, тогда возвращаются все столбцы только этой таблицы.

Ключевое слово DISTINCT выделяет подмножество из результирующего набора записей, в котором каждая запись отличается от другой. Значения NULL не считаются отличными от других. По умолчанию возвращаются все записи, что можно указать точно ключевым словом ALL.

Запрос выполняется на одной или более таблицах, перечисленных после ключевого слова FROM. Если задано множество таблиц, имена которых разделены запятыми, тогда запрос возвращает объединение (cross join) этих таблиц. Полный синтаксис SQL-92 для объединений (join) также поддерживается. Вложенные подзапросы также могут использоваться вместо имени любой таблицы в операторе FROM. Оператор FROM может быть полностью опущен, тогда в результате возвращается одна запись, состоящая из списка вычисляемых выражений.

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

Оператор GROUP BY вызывает объединение одной или более записей в результате в одну для вывода. Обычно он применяется с агрегирующими функциями. Выражение в операторе GROUP BY не могут быть вычисляемыми выражениями. Оператор HAVING подобен WHERE, за исключением того, что HAVING применяется после группировки. Выражение HAVING может ссылаться на значения, даже функции агрегирования, которых нет в результате.

Оператор ORDER BY используется для сортировки выводимых записей. Аргумент ORDER BY - это список выражений, который используются как ключ в сортировке. Выражения не являются частью результата для простого SELECT, но в составных SELECT (с UNION) каждое выражение должно точно соответствовать столбцам результата. Каждое выражение для сортировки может опционально использоваться с ключевым словом COLLATE и именем функции сравнения, используемой для сортировки текста и/или ключевые слова ASC или DESC, для задания порядка сортировки.

Оператор LIMIT определяет верхнюю границу номера и число, возвращаемых записей. Отрицательное значение LIMIT, показывает отсутствие границ. Опциональное OFFSET в LIMIT определяет как много записей пропускается от начала набора данных. В составных запросах, LIMIT может использоваться только в последнем SELECT. Ограничение применяется ко всему набору данных, а не индивидуальным запросам SELECT в нем. Отметим, что если ключевое слово OFFSET используется в операторе LIMIT, тогда Лимит задается первым числом, а количество записей вторым. Если используется запятая вместо OFFSET, тогда вначале указывается смещение, а затем число записей. Это выглядит противоречивым, но так сделано для максимальной совместимости с основными SQL системами.

Составной SELECT, формируемый из двух или более простых SELECT, соединяется вместе в один запрос с помощью операторов UNION, UNION ALL, INTERSECT или EXCEPT. В составном RLECT, все составляющие его SELECT должны определять одинаковый набор столбцов. Может использоваться только один ORDER BY в конце составного SELECT. Операторы UNION и UNION ALL объединяют результаты двух SELECT в одну большую таблицу. Отличие, в том что UNION все записи уникальны, а в UNION ALL они могут повторяться. Оператор INTERSECT берет пересечение результатов двух запросов SELECT. EXCEPT исключает из записей левого SELECT записи правого SELECT. Когда объединяются три или более SELECT, то они группируются слева направо.

------------ Дoбавленo в 12.55:

------------ Дoбавленo в 13.04:
Tad писал(а):
DELETE FROM <имя таблицы> WHERE rowid = 5
iarspider писал(а):
так может получиться не совсем то.
почему не то, если человек указал: удалить 5-ю строку
карма: 25
Немного терпения! Дежурный экстрасенс скоро свяжется с Вами!
0