Организация стока поверхностных вод: Наибольшее количество влаги на земном шаре испаряется с поверхности морей и океанов (88‰)...
История развития хранилищ для нефти: Первые склады нефти появились в XVII веке. Они представляли собой землянные ямы-амбара глубиной 4…5 м...
Топ:
Устройство и оснащение процедурного кабинета: Решающая роль в обеспечении правильного лечения пациентов отводится процедурной медсестре...
Характеристика АТП и сварочно-жестяницкого участка: Транспорт в настоящее время является одной из важнейших отраслей народного хозяйства...
Интересное:
Наиболее распространенные виды рака: Раковая опухоль — это самостоятельное новообразование, которое может возникнуть и от повышенного давления...
Средства для ингаляционного наркоза: Наркоз наступает в результате вдыхания (ингаляции) средств, которое осуществляют или с помощью маски...
Аура как энергетическое поле: многослойную ауру человека можно представить себе подобным...
Дисциплины:
2020-05-07 | 196 |
5.00
из
|
Заказать работу |
|
|
SELECT first_name, last_name, phone_no,
location, phone_ext, emp_no
FROM phone_list
получить список служебных телефонов всех работников предприятия со всей необходимой информацией, расположив их в требуемом порядке
FIRST_NAME | LAST_NAME | PHONE_NO | LOCATION | PHONE_EXT | EMP_NO |
Terri | Lee | (408) 555-1234 | Monterey | 256 | 12 |
Oliver H. | Bender | (408) 555-1234 | Monterey | 255 | 105 |
Mary S. | MacDonald | (415) 555-1234 | San Francisco | 477 | 85 |
Michael | Yanowski | (415) 555-1234 | San Francisco | 492 | 127 |
Robert | Nelson | (408) 555-1234 | Monterey | 250 | 2 |
Kelly | Brown | (408) 555-1234 | Monterey | 202 | 109 |
Stewart | Hall | (408) 555-1234 | Monterey | 227 | 14 |
... |
Получение информации о BLOb выглядит совершенно аналогично обычным полям. Полученные значения можно отображать с использованием data-aware компонент Delphi, например, TDBMemo или TDBGrid. Однако, в последнем случае придется самому прорисовывать содержимое блоба (например, через OnDrawDataCell). Подробнее об этом см. на уроке, посвященном работе с полями.
SELECT job_requirement
FROM job
получить список должностных требований к кандидатам на работу
JOB_REQUIREMENT:
No specific requirements.
JOB_REQUIREMENT:
15+ years in finance or 5+ years as a CFO
with a proven track record.
MBA or J.D. degree.
...
Вычисления
SELECT emp_no, salary, salary * 1.15
FROM employee
получить список номеров служащих и их зарплату, в том числе увеличенную на 15%
EMP_NO | SALARY | |
2 | 105900.00 | 121785 |
4 | 97500.00 | 112125 |
5 | 102750.00 | 118162.5 |
8 | 64635.00 | 74330.25 |
9 | 75060.00 | 86319 |
11 | 86292.94 | 99236.87812499999 |
12 | 53793.00 | 61861.95 |
14 | 69482.62 | 79905.01874999999 |
... |
Порядок вычисления выражений подчиняется общепринятым правилам: сначала выполняется умножение и деление, а затем - сложение и вычитание. Операции одного уровня выполняются слева направо. Разрешено применять скобки для изменения порядка вычислений.
Например, в выражении col1 + col2 * col3 сначала находится произведение значений столбцов col2 и col3, а затем результат этого умножения складывается со значением столбца col1. А в выражении (col1 + col2) * col3 сначала выполняется сложение значений столбцов col1 и col2, и только после этого результат умножается на значение столбца col3.
|
Литералы
Для придания большей наглядности получаемому результату можно использовать литералы. Литералы - это строковые константы, которые применяются наряду с наименованиями столбцов и, таким образом, выступают в роли "псевдостолбцов". Строка символов, представляющая собой литерал, должна быть заключена в одинарные или двойные скобки.
SELECT first_name, "получает", salary,
"долларов в год"
FROM employee
получить список сотрудников и их зарплату
FIRST_NAME | SALARY | |
Robert | Получает | 105900.00 долларов в год |
Bruce | Получает | 97500.00 долларов в год |
Kim | Получает | 102750.00 долларов в год |
Leslie | Получает | 64635.00 долларов в год |
Phil | Получает | 75060.00 долларов в год |
K. J. | Получает | 86292.94 долларов в год |
Terri | Получает | 53793.00 долларов в год |
Конкатенация
Имеется возможность соединять два или более столбца, имеющие строковый тип, друг с другом, а также соединять их с литералами. Для этого используется операция конкатенации (||).
SELECT "сотрудник " || first_name || " " ||
last_name
FROM employee
получить список всех сотрудников
==============================================
сотрудник Robert Nelson
сотрудник Bruce Young
сотрудник Kim Lambert
сотрудник Leslie Johnson
сотрудник Phil Forest
сотрудник K. J. Weston
сотрудник Terri Lee
сотрудник Stewart Hall
...
Использование квалификатора AS
Для придания наглядности получаемым результатам наряду с литералами в списке выбираемых элементов можно использовать квалификатор AS. Данный квалификатор заменяет в результирующей таблице существующее название столбца на заданное. Это наиболее эффективный и простой способ создания заголовков (к сожалению, InterBase, как уже отмечалось, не поддерживает использование русских букв в наименовании столбцов).
SELECT count(*) AS number
FROM employee
подсчитать количество служащих
NUMBER
|
===========
42
SELECT "сотрудник " || first_name || " " ||
last_name AS employee_list
FROM employee
получить список всех сотрудников
EMPLOYEE_LIST
==============================================
сотрудник Robert Nelson
сотрудник Bruce Young
сотрудник Kim Lambert
сотрудник Leslie Johnson
сотрудник Phil Forest
сотрудник K. J. Weston
сотрудник Terri Lee
сотрудник Stewart Hall
...
Работа с датами
Мы уже рассказывали о типах данных, имеющихся в различных СУБД, в том числе и в InterBase. В разных системах имеется различное число встроенных функций, упрощающих работу с датами, строками и другими типами данных. InterBase, к сожалению, обладает достаточно ограниченным набором таких функций. Однако, поскольку язык SQL, реализованный в InterBase, соответствует стандарту, то в нем имеются возможности конвертации дат в строки и гибкой работы с датами. Внутренне дата в InterBase содержит значения даты и времени. Внешне дата может быть представлена строками различных форматов, например:
"October 27, 1995"
"27-OCT-1994"
"10-27-95"
"10/27/95"
"27.10.95"
Кроме абсолютных дат, в SQL-выражениях можно также пользоваться относительным заданием дат:
"yesterday" - вчера
"today" - сегодня
"now" - сейчас (включая время)
"tomorrow" - завтра
Дата может неявно конвертироваться в строку (из строки), если:
строка, представляющая дату, имеет один из вышеперечисленных форматов;
выражение не содержит неоднозначностей в толковании типов столбцов.
SELECT first_name, last_name, hire_date
FROM employee
WHERE hire_date > '1-1-94'
получить список сотрудников, принятых на работу после 1 января 1994 года
FIRST_NAME | LAST_NAME | HIRE_DATE |
Pierre | Osborne | 3-JAN-1994 |
John | Montgomery | 30-MAR-1994 |
Mark | Guckenheimer | 2-MAY-1994 |
Значения дат можно сравнивать друг с другом, сравнивать с относительными датами, вычитать одну дату из другой.
SELECT first_name, last_name, hire_date
FROM employee
WHERE 'today' - hire_date > 365 * 7 + 1
получить список служащих, проработавших на предприятии к настоящему времени более 7 лет
FIRST_NAME | LAST_NAME | HIRE_DATE |
Robert | Nelson | 28-DEC-1988 |
Bruce | Young | 28-DEC-1988 |
Агрегатные функции
К агрегирующим функциям относятся функции вычисления суммы (SUM), максимального (SUM) и минимального (MIN) значений столбцов, арифметического среднего (AVG), а также количества строк, удовлетворяющих заданному условию (COUNT).
SELECT count(*), sum (budget), avg (budget),
min (budget), max (budget)
FROM department
WHERE head_dept = 100
вычислить: количество отделов, являющихся подразделениями отдела 100 (Маркетинг и продажи), их суммарный, средний, мини- мальный и максимальный бюджеты
|
COUNT | SUM | AVG | MIN | MAX |
5 | 3800000.00 | 760000.00 | 500000.00 | 1500000.00 |
|
|
Особенности сооружения опор в сложных условиях: Сооружение ВЛ в районах с суровыми климатическими и тяжелыми геологическими условиями...
Поперечные профили набережных и береговой полосы: На городских территориях берегоукрепление проектируют с учетом технических и экономических требований, но особое значение придают эстетическим...
Адаптации растений и животных к жизни в горах: Большое значение для жизни организмов в горах имеют степень расчленения, крутизна и экспозиционные различия склонов...
История создания датчика движения: Первый прибор для обнаружения движения был изобретен немецким физиком Генрихом Герцем...
© cyberpedia.su 2017-2024 - Не является автором материалов. Исключительное право сохранено за автором текста.
Если вы не хотите, чтобы данный материал был у нас на сайте, перейдите по ссылке: Нарушение авторских прав. Мы поможем в написании вашей работы!