- •Обзор баз данных Oracle
- •Обзор Oracle
- •Теоретические и физические аспекты реляционных баз данных
- •Рсубд против систем плоских файлов: быстрое ознакомление
- •Закрепление пройденного материала
- •Упражнения
- •Реализации рсубд и орсубд Oracle
- •Дисковые компоненты Oracle
- •Что такое орсубд
- •Закрепление пройденного материала
- •Упражнения
- •Процесс сервера и фоновые процессы Oracle
- •Использование и преимущества pl/sql
- •Закрепление пройденного материала
- •Упражнения
- •Написание основных операторов sql
- •Возможности операторов sql select
- •Познакомьтесь: sql* Plus
- •Закрепление пройденного материала
- •Упражнения
- •Выполнение операторов select
- •Задание префиксов столбцам по имени таблицы
- •Арифметические данные и данные из таблиц
- •Старшинство операторов
- •Обработка значений null
- •Замена заголовков столбцов псевдонимами
- •Объединение столбцов с помощью конкатенации
- •Закрепление пройденного материала
- •Упражнения
- •Различия между командами sql и sql*Plus
- •Использование текстового редактора
- •Запись команд sql в сценариях
- •Другие команды sql*Plus, о которых следует знать
- •Закрепление пройденного материала
- •Упражнения
- •Резюме Обзора баз данных Oracle
- •Двухминутное погружение в пройденное
- •Вопросы для самопроверки
- •Вопросы ко всей теме
Задание префиксов столбцам по имени таблицы
Такая же концепция создания псевдонимов работает и для фразы column — вы можете во фразе column вашего запроса в качестве префикса столбца использовать имя таблицы, отделяя его от имени столбца точкой (.). Убедитесь, что правильно поняли, как специфицируются владелец схемы, имя таблицы и имя столбца в операторе select для SQL*Plus. Следующий блок кода демонстрирует наиболее формальное использование задания префиксов посредством соответствующей информации о схеме и таблице:
select имя таблицы.имя_столбца, имя_таблицы.имя_столбца FROM схема .имя__таблицы;
Арифметические данные и данные из таблиц
Oracle позволяет выполнять арифметические действия над цифровыми данными таблиц. Используемые в Oracle операторы выглядят точно так же, как в повседневной жизни (+ для обозначения сложения, — для вычитания, для умножения и / для деления). Скажем, вы должны выполнить простейший годовой контроль заработной платы, в рамках которого предоставить всем служащим прибавку в размере 8% их годовой заработной платы для повышения их уровня жизни. Чтобы вычислить для каждого служащего новый размер заработной платы, требуется умножить ее старое значение на 1.08. Oracle делает эту работу более легкой, используя арифметические выражения, как показано ниже:
SQL> select empno, ename, sal, sal 1. 08
2 from emp;
EMPNO ENAME SAL SAL*1.08
7369 SMITH 800 864
7499 ALLEN 1600 1728
7521 WARD 1250 1350
7566 JONES 2975 3213
7654 MARTIN 1250 1350
7698 BLAKE 2850 3078
7732 CLARK 2450 2646
7788 SCOTT 3000 3240
7839 KING 5000 5400
7844 TURNER 1500 1620
7876 ADAMS 1100 1188
7900 JAMES 950 1026
7902 FORD 3000 3240
7934 MILLER 1300 1404
"
Старшинство операторов
По крайней мере, один вопрос экзамена по программе ОСР обычно затрагивает старшинство операторов или, по-другому, порядок их выполнения — математическую концепцию, определяющую, какие вычисления должны быть выполнены в первую очередь. Простейший способ запоминания правильного порядка выполнения операторов в математике — это использовать акроним PEMDAS. Запомнить значение акронима вам поможет мнемоническое правило: "Please Excuse My Dear Aunt Sally". Акроним PEMDAS расшифровывается как parentheses (скобки), exponents (возведение в степень), multiplication and division (умножение и деление), addition and subtraction (сложение и вычитание). Вот несколько примеров действия правила PEMDAS:
2 + 6/2 равняется 5
(2 + 6)/2 равняется 4
2/10 + 36 (84 - 6) равняется 2808.2
2/10 + 36 84 - 6 равняется 3018.2.
2 + 2 и таблица DUAL
Как упоминалось раньше, каждый оператор select должен иметь фразы column и table. Однако иногда вы можете захотеть выполнить арифметические действия над числами, не содержащимися в реальных таблицах. К примеру, вы просто желаете сложить два числа, например 2 + 1. К счастью, во фразе column оператора select не обязательно должны содержаться имена реальных столбцов. Здесь вместо имен столбцов могут содержаться фиксированные числа или другие типы выражений. А как быть с фразой table? Так как вы используете во фразе columns фиксированные числа, вы вовсе не желаете, чтобы выбирались данные из реально существующей таблицы. Тогда почему бы не воспользоваться выдуманным названием? В подобных случаях для заполнения фразы table используется специальная таблица, получившая имя DUAL. При этом Oracle не использует хранящиеся в ней данные. Взгляните на следующий блок:
SQL> select 2 + 2 from dual;
2 + 2
4
Таблица DUAL состоит из одного столбца, называющегося DUMMY, содержащего одно значение — X. Выполните оператор select * from dual и убедитесь, что в ней не хранится никакого осмысленного значения. Она существует просто как конструктивный элемент SQL для поддержки требований спецификации таблицы во фразе from. Таблицей DUAL владеет встроенный в Oracle пользователь с именем SYS. Кроме того, можно воспользоваться таблицей DUAL для: лучшего знакомства со схемами. Следующий пример показывает, как получить имя пользователя, использованное вами при входе в Oracle:
SQL> select user from dual,
USER
SCOTT
