Выбор полей из источника данных ODBC или поставщика OLE DB осуществляется с помощью стандартных операторов SQL SELECT. Однако то, принимаются операторы SELECT или нет, зависит в основном от используемого драйвера ODBC или поставщика OLE DB. Для использования оператора SELECT требуется открытое подключение к источнику данных.
[ (Inner | Left | Right | Full) jointablenameonfieldref = fieldref ]
Более того, несколько операторов SELECT иногда могут объединяться в один посредством использования оператора union:
selectstatement Union selectstatement
Оператор SELECT интерпретируется драйвером ODBC или поставщиком OLE DB, поэтому могут возникать отклонения от общего синтаксиса SQL в зависимости от возможностей драйверов ODBC или поставщика OLE DB, например:
as иногда недопустим, то есть aliasname должен сразу следовать за fieldname.
as иногда является обязательным при использовании aliasname.
distinct, as,where, group by, order by или union иногда не поддерживаются.
Драйвер ODBC иногда допускает не все различные кавычки, перечисленные выше.
Примечание к информацииЭто не полное описание оператора SQL SELECT! Например операторы SELECT могут быть вложенными, несколько объединений могут создаваться в одном операторе SELECT, число функций, допустимых в выражении, иногда может быть довольно большим, и т. д.
Аргументы:
Аргументы
Аргумент
Описание
distinct
distinct — это логическое условие, используемое в случае, если копии комбинаций значений в выбранных полях должны быть загружены только один раз.
distinctrow
distinctrow — это логическое условие, используемое в случае, если копии записей в таблице источника должны быть загружены только один раз.
fieldlist
fieldlist ::= (*| field ) {, field }
Список полей, которые необходимо выбрать. Символ «*» в качестве списка полей обозначает все поля таблицы.
fieldlist ::= field {, field }
Список одного или нескольких полей, разделенных запятыми.
field ::= ( fieldref | expression ) [as aliasname ]
Выражение может, к примеру, быть числовой или строковой функцией, основанной на одном или нескольких других полях. Некоторые из обычно принимаемых операторов и функций: +, -, *, /, & (объединение строк), sum(fieldname), count(fieldname), avg(fieldname)(average), month(fieldname), и т. д. Дополнительную информацию см. в документации к драйверу ODBC.
fieldref ::= [ tablename. ] fieldname
tablename и fieldname являются текстовыми строками, идентичными тому, что они подразумевают. Они должны быть заключены в прямые двойные кавычки, если они содержат, например, пробелы.
Предложение as используется для назначения полю нового имени.
from
tablelist ::= table {, table }
Список таблиц, из которых выбираются поля.
table ::= tablename [ [as ] aliasname ]
Элемент tablename может быть в кавычках, а может и не быть.
where — предложение, которое используется для указания того, нужно ли включить запись в выборку или нет.
criterion является логическим выражением, которое иногда может быть очень сложным. Некоторые из принимаемых операторов: числовые операторы и функции, =, <> или #( не равно), >, >=, <, <=, and, or, not, exists, some, all, in, а также новые операторы SELECT. Дополнительную информацию можно получить в документации драйвера ODBC или поставщика OLE DB.
group by
group by — выражение, используемое для агрегирования (группировки) нескольких записей в одну. Внутри одной группы для определенного поля все записи должны иметь одинаковое значение или поле может использоваться только изнутри выражения, например, в виде суммы или среднего значения. Выражение, основанное на одном или нескольких полях, определяется в выражении символа поля.
having
having — это предложение, используемое для классификации групп подобно тому, как предложение where используется для классификации записей.
order by
order by — предложение, используемое для указания порядка сортировки результирующей таблицы оператора SELECT.
join
join — это классификатор, который указывает, необходимо ли объединить несколько таблиц в одну. Имена полей и имена таблиц должны заключаться в кавычки, если в них содержатся пробелы или буквы из национальных наборов символов. Когда программа Qlik Sense автоматически создаст скрипт, драйвер ODBC или поставщик OLE DB, указанный в определении источника данных в операторе Connect, определит используемые кавычки.
Пример 1:
SELECT *
FROM `Categories`;
Пример 2:
SELECT `Category
ID`, `Category Name` FROM `Categories`;
Пример 3:
SELECT `Order
ID`, `Product ID`,
`Unit Price`
* Quantity * (1-Discount) as NetSales
FROM `Order
Details`;
Пример 4:
SELECT `Order
Details`.`Order ID`,
Sum(`Order
Details`.`Unit Price` * `Order Details`.Quantity) as `Result`
FROM `Order
Details`, Orders
where Orders.`Order
ID` = `Order Details`.`Order ID`
Если вы обнаружили какую-либо проблему на этой странице и с ее содержанием — будь то опечатка, пропущенный шаг или техническая ошибка, сообщите нам об этом, чтобы мы смогли ее исправить!