SlideShare a Scribd company logo
1 of 36
Download to read offline
Основные команды языка SQL
11
1-1-22 KBTU
Основные команды языка SQL
Темы
Возможности команды SELECT языка SQL
Выполнение основной команды SELECT
Различия между командами SQL и iSQL*Plus
1-1-33 KBTU
Основные команды языка SQL
Возможности команды SELECT
языка SQL
ПроекцияВыбор
Таблица 1 Таблица 2
Таблица 1Таблица 1
Соединение
1-1-44 KBTU
Основные команды языка SQL
Основная команда SELECT
• SELECT указывает, какие столбцы;
• FROM указывает, из какой таблицы.
SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...}
FROM таблица;
SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...}
FROM таблица;
1-1-55 KBTU
Основные команды языка SQL
Выбор всех столбцов
SELECT *
FROM departments;
1-1-66 KBTU
Основные команды языка SQL
Выбор конкретных столбцов
SELECT department_id, location_id
FROM departments;
1-1-77 KBTU
Основные команды языка SQL
Написание команд SQL
• Команды SQL не различают регистры символов
• Команды SQL могут занимать одну или
несколько строк
• Ключевые слова нельзя сокращать и размещать
на двух строках
• Предложения обычно пишутся на отдельных
строках
• Для облегчения чтения используются
табуляция и отступы
1-1-88 KBTU
Основные команды языка SQL
Заголовки столбцов по умолчанию
• iSQL*Plus
– Выравнивание по умолчанию: по центру
– Вывод по умолчанию: в символах верхнего
регистра
• SQL*Plus
– Слева: даты и символьные данные
– Справа: цифровые данные
– Вывод по умолчанию: в символах верхнего
регистра
1-1-99 KBTU
Основные команды языка SQL
Арифметические выражения
Создаются из данных типа NUMBER и DATE с
помощью арифметических операторов
Оператор
+
-
*
/
Описание
Сложение
Вычитание
Умножение
Деление
1-1-1010 KBTU
Основные команды языка SQL
Использование арифметических операторов
SELECT last_name, salary, salary + 300
FROM employees;
1-1-1111 KBTU
Основные команды языка SQL
Приоритеты операторов
• Умножение и деление имеют приоритет над
сложением м вычитанием
• Операторы с одинаковым приоритетом
выполняются слева направо
• Для выполнения операторов в определенном
порядке и упрощения их чтения используются
скобки
** // ++ __
1-1-1212 KBTU
Основные команды языка SQL
Приоритеты операторов
...
SELECT last_name, salary, 12*salary+100
FROM employees;
1-1-1313 KBTU
Основные команды языка SQL
Использование скобок
SELECT last_name, salary, 12*(salary+100)
FROM employees;
1-1-1414 KBTU
Основные команды языка SQL
...
Неопределенное значение (NULL)
• Неопределенное значение (NULL) – это значение,
которое недоступно, не присвоено, неизвестно
или неприменимо.
• Это не ноль и не пробел.
LECT last_name, job_id, salary, commission_pct
OM employees;
1-1-1515 KBTU
Основные команды языка SQL
Неопределенные значения в
арифметических выражениях
• Результат вычисления выражения,
содержащего
• неопределенное значение, также будет
• неопределенным.
SELECT last_name, 12*salary*commission_pct
FROM employees;
1-1-1616 KBTU
Основные команды языка SQL
Псевдоним (алиас) столбца
• Альтернативный заголовок столбца.
• Удобен при вычислениях.
• Следует сразу за именем столбца; ключевое
слово AS между именем столбца и
псевдонимом необязательно.
• Заключается в двойные кавычки, если
содержит пробелы, специальные символы или
различает регистры символов.
1-1-1717 KBTU
Основные команды языка SQL
Использование псевдонимов столбцов
SELECT last_name "Name",
salary*12 "Annual Salary"
FROM employees;
SELECT last_name AS name, commission_pct comm
FROM employees;
1-1-1818 KBTU
Основные команды языка SQL
Оператор конкатенации
• Соединяет столбцы или символьные
строки с другими столбцами.
• Изображается двумя вертикальными
линиями (||).
• Создает столбец с результатом,
представляющим символьное выражение.
1-1-1919 KBTU
Основные команды языка SQL
Использование оператора конкатенации
SELECT last_name||job_id AS "Employees"
FROM employees;
1-1-2020 KBTU
Основные команды языка SQL
Строка символов - литерал
• Литерал – это символ, число или дата,
включенные в SELECT список.
• Даты и символьные литералы должны быть
заключены в апострофы.
• Каждая символьная строка выводится один раз
для каждой возвращаемой строки таблицы.
1-1-2121 KBTU
Основные команды языка SQL
Использование символьных литералов
SELECT last_name ||' is a '||job_id
AS "Employee Details"
FROM employees;
1-1-2222 KBTU
Основные команды языка SQL
Дублирование строк
По умолчанию выдаются все строки, включая
дубликаты.
SELECT department_id
FROM employees;
SELECT department_id
FROM employees;
1-1-2323 KBTU
Основные команды языка SQL
Устранение строк-дубликатов
Дубликаты устраняются с помощью ключевого
слова DISTINCT в команде SELECT.
SELECT DISTINCT department_id
FROM employees;
1-1-2424 KBTU
Основные команды языка SQL
Взаимодействие SQL и iSQL*Plus
Команды SQL
Сервер
Oracle
Результаты запросаРезультаты запросаКоманды
iSQL*Plus
Клиент
Сформатированный отчет
ИнтернетИнтернет--
браузербраузер
iiSQL*PlusSQL*Plus
1-1-2525 KBTU
Основные команды языка SQL
Сравнение команд SQL и iSQL*Plus
КомандыКоманды
SQLSQL
SQL
• Язык
• Стандарт ANSI
• Сокращать ключевые
слова нельзя
• Команды
манипулируют
данными и
определениями таблиц
в базе данных
iiSQL*PlusSQL*Plus
• Среда
• Разработка Oracle
• Сокращать ключевые
слова можно
• Команды не позволяют
манипулировать
данными в базе данных
• Выполняется в браузере
• Загружается
централизованно, не
должен быть размещен
на каждой машине
КомандыКоманды
iiSQL*PlusSQL*Plus
1-1-2626 KBTU
Основные команды языка SQL
Обзор iSQL*Plus
После входа в iSQL*Plus можно:
• Получить описания структуры таблиц
• Отредактировать команды SQL
• Выполнить команды SQL из iSQL*Plus
• Сохранить команды SQL в файлах и добавить
команды SQL к файлам
• Выполнить сохраненные файлы
• Загрузить команды из файла в окно
редактирования iSQL*Plus
1-1-2727 KBTU
Основные команды языка SQL
Вызов SQL*Plus
Из среды Windows
Из командной строки
Sqlplus [username[/password[@database]]]
1-1-2828 KBTU
Основные команды языка SQL
Вызов iSQL*Plus
Из среды Windows браузера
1-1-2929 KBTU
Основные команды языка SQL
Среда iSQL*Plus
1
2 3 4 5
6
7
8 9
1-1-3030 KBTU
Основные команды языка SQL
Вывод структуры таблицы
DESC[RIBE] имя_таблицыDESC[RIBE] имя_таблицы
Вывод структуры таблицы производится с
помощью команды DESCRIBE iSQL*Plus
1-1-3131 KBTU
Основные команды языка SQL
Вывод структуры таблицы
DESCRIBE employeesDESCRIBE employees
1-1-3232 KBTU
Основные команды языка SQL
Взаимодействие с файлами сценариев
1
2
1-1-3333 KBTU
Основные команды языка SQL
Взаимодействие с файлами сценариев
3
1
2
1-1-3434 KBTU
Основные команды языка SQL
Взаимодействие с файлами сценариев
1
3
2
1-1-3535 KBTU
Основные команды языка SQL
Заключение
SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...}
FROM таблица;
SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...}
FROM таблица;
В этом уроке вы познакомились с тем, как:
• Задавать команду SELECT, по которой:
– возвращаются все строки и столбцы таблицы
– возвращаются определенные столбцы таблицы
– используются псевдонимы для изменения
наименований заголовков столбцов
• Использовать среду iSQL*Plus для ввода,
сохранения и выполнения команд SQL и iSQL*Plus.
1-1-3636 KBTU
Основные команды языка SQL
Обзор практического занятия
• Выборка данных из разных таблиц
• Описание структуры таблиц
• Выполнение арифметических вычислений и
задание имен столбцов
• Использование iSQL*Plus

More Related Content

Viewers also liked

Viewers also liked (17)

графика и её виды
графика и её видыграфика и её виды
графика и её виды
 
Certyfikuj się
Certyfikuj sięCertyfikuj się
Certyfikuj się
 
Merce rodoreda
Merce rodoredaMerce rodoreda
Merce rodoreda
 
LabWork
LabWorkLabWork
LabWork
 
Острые тонзиллофарингиты и вопросы выбора стартовой терапии.
Острые тонзиллофарингиты и вопросы выбора стартовой терапии.Острые тонзиллофарингиты и вопросы выбора стартовой терапии.
Острые тонзиллофарингиты и вопросы выбора стартовой терапии.
 
Astronot nedir
Astronot nedirAstronot nedir
Astronot nedir
 
“Get The Bigger Picture” Acts 7:51-60
“Get The Bigger Picture” Acts 7:51-60“Get The Bigger Picture” Acts 7:51-60
“Get The Bigger Picture” Acts 7:51-60
 
Constitutional Dilemmas Simulation
Constitutional Dilemmas SimulationConstitutional Dilemmas Simulation
Constitutional Dilemmas Simulation
 
TestPdf
TestPdfTestPdf
TestPdf
 
Notebook of English David Flores Casanova 4IV11
Notebook of English David Flores Casanova 4IV11 Notebook of English David Flores Casanova 4IV11
Notebook of English David Flores Casanova 4IV11
 
Body Care
Body CareBody Care
Body Care
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 
sanjieet sarker (SEO EXPERT)
sanjieet sarker (SEO EXPERT)sanjieet sarker (SEO EXPERT)
sanjieet sarker (SEO EXPERT)
 
Intro to industry
Intro to industryIntro to industry
Intro to industry
 
LabWork
LabWorkLabWork
LabWork
 
Dân sự hntttttttttttttttt
Dân sự hnttttttttttttttttDân sự hntttttttttttttttt
Dân sự hntttttttttttttttt
 

Similar to Основные команды языка SQL

"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So..."AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...Alex Tumanoff
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2student_kai
 
0041
00410041
0041JIuc
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7Vitaliy Pak
 
0044
00440044
0044JIuc
 
0039
00390039
0039JIuc
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"Technopark
 
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Ontico
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"Technopark
 
Стажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данныхСтажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данных7bits
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...Technopark
 
бд шпора2
бд шпора2бд шпора2
бд шпора2elgin690
 
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьСергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьTanya Denisyuk
 
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Badoo Development
 
AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)
AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)
AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)Andrey Gershun
 

Similar to Основные команды языка SQL (20)

"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So..."AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
"AnnotatedSQL - провайдер с плюшками за 5 минут" - Геннадий Дубина, Senior So...
 
Lekcia9
Lekcia9Lekcia9
Lekcia9
 
лабораторная работа 2
лабораторная работа 2лабораторная работа 2
лабораторная работа 2
 
0041
00410041
0041
 
Базы данных лекция №7
Базы данных лекция №7Базы данных лекция №7
Базы данных лекция №7
 
0044
00440044
0044
 
0039
00390039
0039
 
Управление данными (sql)
Управление данными (sql)Управление данными (sql)
Управление данными (sql)
 
СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"СУБД 2013 Лекция №5 "Определение узких мест"
СУБД 2013 Лекция №5 "Определение узких мест"
 
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
Основы индексирования и расширенные возможности EXPLAIN в MySQL / Василий Лук...
 
Access 04
Access 04Access 04
Access 04
 
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
СУБД 2013 Лекция №7 "Оптимизация запросов и индексирование"
 
Стажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данныхСтажировка-2013, разработчики, занятие 11. Базы данных
Стажировка-2013, разработчики, занятие 11. Базы данных
 
Sql injection
Sql injectionSql injection
Sql injection
 
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
СУБД 2013 Лекция №6 "Профилирование запросов. Сложноструктурированные SQL-зап...
 
бд шпора2
бд шпора2бд шпора2
бд шпора2
 
My sql 0
My sql 0My sql 0
My sql 0
 
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглитьСергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
Сергей Аверин, То, что вы хотели знать о HandlerSocket, но не смогли нагуглить
 
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
Доклад Сергея Аверина на CodeFest-2013. "MySQL+HandlerSocket=NoSQL".
 
AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)
AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)
AlaSQL - SQL библиотека на JavaScript (выступление на PiterJS)
 

More from Aimurat Adilbekov

Глобальная сеть
Глобальная  сетьГлобальная  сеть
Глобальная сетьAimurat Adilbekov
 
Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...Aimurat Adilbekov
 
Однострочные функции
Однострочные функцииОднострочные функции
Однострочные функцииAimurat Adilbekov
 
Ограничение и сортировка выходных данных
Ограничение и сортировка выходных данныхОграничение и сортировка выходных данных
Ограничение и сортировка выходных данныхAimurat Adilbekov
 
Возможности сервера Oracle
Возможности сервера OracleВозможности сервера Oracle
Возможности сервера OracleAimurat Adilbekov
 
Oracle базасында қолданушы еңгізу
Oracle базасында қолданушы еңгізуOracle базасында қолданушы еңгізу
Oracle базасында қолданушы еңгізуAimurat Adilbekov
 

More from Aimurat Adilbekov (8)

Глобальная сеть
Глобальная  сетьГлобальная  сеть
Глобальная сеть
 
Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...Понятия технологии разработки объектно-ориентированных информационных систем ...
Понятия технологии разработки объектно-ориентированных информационных систем ...
 
Однострочные функции
Однострочные функцииОднострочные функции
Однострочные функции
 
Ограничение и сортировка выходных данных
Ограничение и сортировка выходных данныхОграничение и сортировка выходных данных
Ограничение и сортировка выходных данных
 
Возможности сервера Oracle
Возможности сервера OracleВозможности сервера Oracle
Возможности сервера Oracle
 
Oracle базасында қолданушы еңгізу
Oracle базасында қолданушы еңгізуOracle базасында қолданушы еңгізу
Oracle базасында қолданушы еңгізу
 
Nauriz
NaurizNauriz
Nauriz
 
My home kazakhstan
My home kazakhstanMy home kazakhstan
My home kazakhstan
 

Основные команды языка SQL

  • 2. 1-1-22 KBTU Основные команды языка SQL Темы Возможности команды SELECT языка SQL Выполнение основной команды SELECT Различия между командами SQL и iSQL*Plus
  • 3. 1-1-33 KBTU Основные команды языка SQL Возможности команды SELECT языка SQL ПроекцияВыбор Таблица 1 Таблица 2 Таблица 1Таблица 1 Соединение
  • 4. 1-1-44 KBTU Основные команды языка SQL Основная команда SELECT • SELECT указывает, какие столбцы; • FROM указывает, из какой таблицы. SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...} FROM таблица; SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...} FROM таблица;
  • 5. 1-1-55 KBTU Основные команды языка SQL Выбор всех столбцов SELECT * FROM departments;
  • 6. 1-1-66 KBTU Основные команды языка SQL Выбор конкретных столбцов SELECT department_id, location_id FROM departments;
  • 7. 1-1-77 KBTU Основные команды языка SQL Написание команд SQL • Команды SQL не различают регистры символов • Команды SQL могут занимать одну или несколько строк • Ключевые слова нельзя сокращать и размещать на двух строках • Предложения обычно пишутся на отдельных строках • Для облегчения чтения используются табуляция и отступы
  • 8. 1-1-88 KBTU Основные команды языка SQL Заголовки столбцов по умолчанию • iSQL*Plus – Выравнивание по умолчанию: по центру – Вывод по умолчанию: в символах верхнего регистра • SQL*Plus – Слева: даты и символьные данные – Справа: цифровые данные – Вывод по умолчанию: в символах верхнего регистра
  • 9. 1-1-99 KBTU Основные команды языка SQL Арифметические выражения Создаются из данных типа NUMBER и DATE с помощью арифметических операторов Оператор + - * / Описание Сложение Вычитание Умножение Деление
  • 10. 1-1-1010 KBTU Основные команды языка SQL Использование арифметических операторов SELECT last_name, salary, salary + 300 FROM employees;
  • 11. 1-1-1111 KBTU Основные команды языка SQL Приоритеты операторов • Умножение и деление имеют приоритет над сложением м вычитанием • Операторы с одинаковым приоритетом выполняются слева направо • Для выполнения операторов в определенном порядке и упрощения их чтения используются скобки ** // ++ __
  • 12. 1-1-1212 KBTU Основные команды языка SQL Приоритеты операторов ... SELECT last_name, salary, 12*salary+100 FROM employees;
  • 13. 1-1-1313 KBTU Основные команды языка SQL Использование скобок SELECT last_name, salary, 12*(salary+100) FROM employees;
  • 14. 1-1-1414 KBTU Основные команды языка SQL ... Неопределенное значение (NULL) • Неопределенное значение (NULL) – это значение, которое недоступно, не присвоено, неизвестно или неприменимо. • Это не ноль и не пробел. LECT last_name, job_id, salary, commission_pct OM employees;
  • 15. 1-1-1515 KBTU Основные команды языка SQL Неопределенные значения в арифметических выражениях • Результат вычисления выражения, содержащего • неопределенное значение, также будет • неопределенным. SELECT last_name, 12*salary*commission_pct FROM employees;
  • 16. 1-1-1616 KBTU Основные команды языка SQL Псевдоним (алиас) столбца • Альтернативный заголовок столбца. • Удобен при вычислениях. • Следует сразу за именем столбца; ключевое слово AS между именем столбца и псевдонимом необязательно. • Заключается в двойные кавычки, если содержит пробелы, специальные символы или различает регистры символов.
  • 17. 1-1-1717 KBTU Основные команды языка SQL Использование псевдонимов столбцов SELECT last_name "Name", salary*12 "Annual Salary" FROM employees; SELECT last_name AS name, commission_pct comm FROM employees;
  • 18. 1-1-1818 KBTU Основные команды языка SQL Оператор конкатенации • Соединяет столбцы или символьные строки с другими столбцами. • Изображается двумя вертикальными линиями (||). • Создает столбец с результатом, представляющим символьное выражение.
  • 19. 1-1-1919 KBTU Основные команды языка SQL Использование оператора конкатенации SELECT last_name||job_id AS "Employees" FROM employees;
  • 20. 1-1-2020 KBTU Основные команды языка SQL Строка символов - литерал • Литерал – это символ, число или дата, включенные в SELECT список. • Даты и символьные литералы должны быть заключены в апострофы. • Каждая символьная строка выводится один раз для каждой возвращаемой строки таблицы.
  • 21. 1-1-2121 KBTU Основные команды языка SQL Использование символьных литералов SELECT last_name ||' is a '||job_id AS "Employee Details" FROM employees;
  • 22. 1-1-2222 KBTU Основные команды языка SQL Дублирование строк По умолчанию выдаются все строки, включая дубликаты. SELECT department_id FROM employees; SELECT department_id FROM employees;
  • 23. 1-1-2323 KBTU Основные команды языка SQL Устранение строк-дубликатов Дубликаты устраняются с помощью ключевого слова DISTINCT в команде SELECT. SELECT DISTINCT department_id FROM employees;
  • 24. 1-1-2424 KBTU Основные команды языка SQL Взаимодействие SQL и iSQL*Plus Команды SQL Сервер Oracle Результаты запросаРезультаты запросаКоманды iSQL*Plus Клиент Сформатированный отчет ИнтернетИнтернет-- браузербраузер iiSQL*PlusSQL*Plus
  • 25. 1-1-2525 KBTU Основные команды языка SQL Сравнение команд SQL и iSQL*Plus КомандыКоманды SQLSQL SQL • Язык • Стандарт ANSI • Сокращать ключевые слова нельзя • Команды манипулируют данными и определениями таблиц в базе данных iiSQL*PlusSQL*Plus • Среда • Разработка Oracle • Сокращать ключевые слова можно • Команды не позволяют манипулировать данными в базе данных • Выполняется в браузере • Загружается централизованно, не должен быть размещен на каждой машине КомандыКоманды iiSQL*PlusSQL*Plus
  • 26. 1-1-2626 KBTU Основные команды языка SQL Обзор iSQL*Plus После входа в iSQL*Plus можно: • Получить описания структуры таблиц • Отредактировать команды SQL • Выполнить команды SQL из iSQL*Plus • Сохранить команды SQL в файлах и добавить команды SQL к файлам • Выполнить сохраненные файлы • Загрузить команды из файла в окно редактирования iSQL*Plus
  • 27. 1-1-2727 KBTU Основные команды языка SQL Вызов SQL*Plus Из среды Windows Из командной строки Sqlplus [username[/password[@database]]]
  • 28. 1-1-2828 KBTU Основные команды языка SQL Вызов iSQL*Plus Из среды Windows браузера
  • 29. 1-1-2929 KBTU Основные команды языка SQL Среда iSQL*Plus 1 2 3 4 5 6 7 8 9
  • 30. 1-1-3030 KBTU Основные команды языка SQL Вывод структуры таблицы DESC[RIBE] имя_таблицыDESC[RIBE] имя_таблицы Вывод структуры таблицы производится с помощью команды DESCRIBE iSQL*Plus
  • 31. 1-1-3131 KBTU Основные команды языка SQL Вывод структуры таблицы DESCRIBE employeesDESCRIBE employees
  • 32. 1-1-3232 KBTU Основные команды языка SQL Взаимодействие с файлами сценариев 1 2
  • 33. 1-1-3333 KBTU Основные команды языка SQL Взаимодействие с файлами сценариев 3 1 2
  • 34. 1-1-3434 KBTU Основные команды языка SQL Взаимодействие с файлами сценариев 1 3 2
  • 35. 1-1-3535 KBTU Основные команды языка SQL Заключение SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...} FROM таблица; SELECT *|{[DISTINCT] столбец|выражение [псевдоним],...} FROM таблица; В этом уроке вы познакомились с тем, как: • Задавать команду SELECT, по которой: – возвращаются все строки и столбцы таблицы – возвращаются определенные столбцы таблицы – используются псевдонимы для изменения наименований заголовков столбцов • Использовать среду iSQL*Plus для ввода, сохранения и выполнения команд SQL и iSQL*Plus.
  • 36. 1-1-3636 KBTU Основные команды языка SQL Обзор практического занятия • Выборка данных из разных таблиц • Описание структуры таблиц • Выполнение арифметических вычислений и задание имен столбцов • Использование iSQL*Plus

Editor's Notes

  1. Цели урока Выборка данных из базы данных производится с помощью команды SELECT языка SQL. Количество выбираемых столбцов можно ограничить. Занятие посвящено командам SQL, необходимым для выполнения этих действий. Обсуждается создание команды SELECT для многократного использования. Рассматриваются также команды среды iSQL*Plus для выполнения команд SQL. Примечание: iSQL*Plus – продукт Oracle. Это среда браузера, в которой вы выполняете команды SQL. В предыдущих релизах, средой по умолчанию, где выполнялись команды SQL, была SQL*Plus. SQL*Plus доступен и описан в приложении C.
  2. Возможности команды Select Команда SELECT осуществляет выборку информации из базы данных. С помощью этой команды можно делать следующее: Выбор (selection): SQL позволяет осуществлять выборочный вывод строк таблицы. Для этого можно задать различные критерии выборки. Проекция (projection): SQL позволяет задать столбцы таблицы, возвращаемые запросом. Количество выходных столбцов может быть любым. Соединение (join): SQL позволяет объединять данные из разных таблиц на базе столбца, присутствующего в обеих таблицах. Этому посвящено одно из следующих занятий.
  3. Основная команда Select Простейшая команда SELECT должна включать следующее: Предложение SELECT – задает выходные столбцы. Предложение FROM – указывает таблицу, которая содержит столбцы, заданные в предложении SELECT. Синтаксис: SELECTсписок из одного или более столбцов. *выбирает все столбцы DISTINCTустраняет дубликаты. Сolumn|expressionвыбирает заданный столбец aliasприсваивает заданным столбцам другие имена FROM tableуказывает таблицу, содержащую столбцы Примечание: в курсе используются термины ключевое слово, предложение и команда. Ключевое слово (keyword) – это отдельный элемент SQL (например, SELECT и FROM). Предложение (clause) – это часть команды SQL (например, SELECT empno, ename, …). Команда (statement) – это комбинация из двух или более предложений (например, SELECT * FROM emp).
  4. Выборка всех столбцов и строк Для вывода всех столбцов данных таблицы достаточно поставить звездочку(*) после ключевого слова SELECT. В примере на слайде таблица отделов содержит четыре столбца: DEPARTMENT_ID, DEPARTMENT_NAME, MANAGER_ID и LOCATION_ID. Количество строк – восемь(по одной на отдел). Другой способ вывода всех строк таблицы – это перечислить их все после ключевого слова SELECT. Как и в примере на слайде, следующая команда SQL выбирает все столбцы и строки таблицы DEPARTMENTS: SELECT department_id, department_name, manager_id, location_ id FROM departments;
  5. Выборка заданных столбцов и всех строк С помощью команды SELECT можно вывести конкретные столбцы таблицы, указав их имена через запятые. В примере показан вывод всех номеров и местоположений отделов из таблицы DEPARTMENTS. В предложении SELECT нужные столбцы указываются в той последовательности, в которой они должны появиться на экране. Чтобы, например, местоположение отдела предшествовало номеру отдела, используется следующая команда: SELECT location_id, department_id FROM departments;
  6. Написание команд SQL Простые правила позволяют создавать команды, удобные для чтения и редактирования: Команды SQL не различают регистры символов, если не указано иного. Команды SQL могут занимать одну или несколько строк. Ключевые слова нельзя сокращать и переносить с одной строки на другую. Для упрощения чтения и редактирования предложения обычно пишутся на отдельных строках. Для упрощения чтения команды можно использовать табуляцию и отступы. Ключевые слова обычно вводятся заглавными буквами, а все остальные (например, имена таблиц и столбцов) – строчными. В SQL*Plus команда SQL обычно вводится в командной строке SQL, и последующие строки нумеруются. Это называется буфером SQL. В каждый момент времени в буфере может находиться только одна команда. Способы выполнения команд SQL Ввести точку с запятой после последнего предложения команды. Ввести косую черту на последней строке буфера SQL. Ввести косую черту в ответ на приглашение SQL>. Выполнить команду RUN среды SQL*Plus в ответ на приглашение SQL>. Используя iSQL*Plus, кликните кнопку Execute для запуска команды или команд в окне редактирования.
  7. Формат заголовков столбцов по умолчанию Символьные заголовки столбцов и данные а также заголовки с датами и сами даты выравниваются в столбце слева. Цифровые заголовки и данные выравниваются справа. SELECT last_name, hire_date, salary FROM employees; Символьные заголовки и заголовки столбцов с датами могут быть усечены; усечение цифровых заголовков не допускается. По умолчанию заголовки столбцов выводятся заглавными буквами. Изменить формат вывода заголовков, используемый по умолчанию, можно с помощью псевдонима столбца (алиаса).
  8. Арифметические выражения Иногда требуется изменить формат вывода данных, произвести вычисления или выполнить сценарии типа «что, если…». Сделать это можно с помощью арифметических выражений. Арифметическое выражение может включать имена столбцов, числовые константы и арифметические операторы. Арифметические операторы На слайде показаны арифметические операторы SQL. Все они могут использоваться в любых командах SQL за исключением предложения FROM.
  9. Использование арифметических операторов В примере на слайде оператор сложения используется для прибавления 300 долларов к окладу всех служащих; новый оклад выводится в столбце SALARY+300. Следует отметить, что столбец SALARY+300 не является новым столбцом таблицы EMP, а используется только для вывода результатов вычислений. По умолчанию имя этого столбца соответствует произведенным вычислениям – в данном случае «salary+300». Примечание: Сервер Oracle игнорирует пробелы до и после арифметического оператора.
  10. Приоритет операторов Если арифметическое выражение содержит более одного оператора, сначала выполняются умножение и деление. Если операторы в выражении имеют одинаковый приоритет, они выполняются слева направо. Для изменения порядка выполнения оператора можно использовать скобки: выражение в скобках вычисляется первым.
  11. Приоритет операторов(продолжение) В этом примере показан вывод имени, оклада и годового дохода всех служащих. Годовой доход равен окладу, умноженному на 12, плюс одноразовая премия в размере 100 долларов. Следует отметить, что сначала выполняется умножение, а потом – сложение. Примечание: Для изменения последовательности выполнения операторов и упрощения чтения используются скобки. Результат вышеуказанного выражения не изменится, если записать его в виде (12* salary)+100.
  12. Использование скобок Изменить стандартный порядок выполнения операторов можно с помощью круглых скобок. Пример на слайде показывает вывод имени, заработной платы и годового дохода всех служащих. В этом случае годовой доход вычисляется путем умножения на 12 суммы оклада и ежемесячной премии в размере 100 долларов. Благодаря скобкам сложение выполняется до умножения.
  13. Неопределенные значения Если в строке отсутствует значение какого-либо столбца, считается, что столбец содержит неопределенное значение(NULL). Неопределенное значение – это значение, которое недоступно, не присвоено, неизвестно или неприменимо. Это не ноль и не пробел. Ноль – это число, а пробел – символ. Неопределенные значения допускаются в скобках с данными любого типа за исключением случаев, когда столбец был создан с ограничением NOT NULL или PRIMARY KEY. Столбец COMMISSION_PCT таблицы EMPLOYEES показывает, что получать комиссионные может только менеджеры продавцов и продавцы. Другие служащие права на комиссионные не имеют. Это показано неопределенным значением в столбце. Обратите внимание на то, что его комиссионные равны нулю, а ноль – это определенное значение.
  14. Неопределенные значения(продолжение) Если какой-либо столбец в арифметическом выражении содержит неопределенное значение, результат вычисления также будет неопределенным(NULL). Например, попытка деления на ноль оборачивается ошибкой. Но если попытаться разделить число на неопределенное значение, результатом будет неопределенное значение. В примере на слайде служащий KING не является продавцом и не получает комиссионных. Т.к. столбец COMMISSION_PCT в арифметическом выражении содержит неопределенное значение, результатом будет также неопределенное значение.
  15. Псевдонимы столбцов Обычно при выводе результатов запросов iSQL*Plus использует в качестве заголовка выходного столбца имя выбранного столбца таблицы. Такой заголовок не всегда отражает содержимое столбца и может быть непонятным. Изменить заголовок можно с помощью псевдонима столбца (алиаса). Псевдоним указывается после имени столбца в списке SELECT через пробел. По умолчанию псевдонимы выводятся заглавными буквами. Псевдоним, содержащий пробелы или специальные символы(например, # или $) или различающий регистры символов, заключается в двойные кавычки(“ “).
  16. Псевдонимы столбцов(продолжение) В первом примере показан вывод имени и оклада всех служащих. Обратите внимание на использование необязательного ключевого слова AS перед псевдонимом столбца. Результат запроса будет один и тот же независимо от того, используется ключевое слово AS или нет. Следует также отметить, что в команде SQL псевдонимы столбцов name и salary указаны строчными буквами, а при выводе результатов запроса они оказываются в символах верхнего регистра. Как уже было показано на последнем слайде, заголовки выводятся в символах верхнего регистра по умолчанию. Второй пример демонстрирует вывод имени и годовой заработной платы всех служащих. Т.к. заголовок Annual Salary содержит пробелы, он заключен в кавычки. Обратите внимание на то, что заголовок столбца в выходных данных точно соответствует псевдониму столбца.
  17. Оператор конкатенации С помощью оператора конкатенации (||) можно соединять одни столбцы с другими столбцами, арифметическими выражениями или константами для создания символьных выражений. Столбцы, указанные на обеих сторонах оператора, соединяются и образуют единый выходной столбец.
  18. Оператор конкатенации(продолжение) В этом примере соединяются столбцы LAST_NAME и JOB_ID; они получают псевдоним Employees. Следует отметить, что соединенные столбцы (должность и имя служащего) образуют единый выходной столбец. Ключевое слово AS перед псевдонимом упрощает чтение предложения SELECT.
  19. Символьные литералы Литерал – это любой символ, выражение или число, включенные в список SELECT и не являющиеся именем или псевдонимом столбца. Литерал печатается для каждой возвращаемой строки. Литеральные строки в виде свободного текста можно включать в результаты запросов; они обрабатываются так же, как и столбец из списка SELECT. Символьные литералы и литералы с датами должны быть заключены в апострофы; цифровые литералы в апострофы не заключаются.
  20. Символьные литералы(продолжение) На слайде показан вывод имен и должностей всех служащих. Столбец называется Employee Details. Обратите внимание на пробелы, заключенные в апострофы, в команде SELECT. Эти пробелы облегчают чтение выходных данных. В следующем примере имя и оклад каждого служащего соединяются с литералом, что делает выходные данные более понятными. SELECT last_name ||': 1 Month salary = '||salary Monthly FROM employees;
  21. Строки дубликаты Если не задано иного, iSQL*Plus не устраняет дубликаты при выводе результатов запроса. На слайде показан вывод всех номеров отделов из таблицы EMPLOYEES. Обратите внимание на то, что номера отделов повторяются.
  22. Строки дубликаты(продолжение) Для устранения дубликатов в результатах запроса необходимо задать ключевое слово DISTINCT в предложении SELECT сразу после ключевого слова SELECT. В примере на слайде таблица EMPLOYEES содержит 20 строк, но номеров отделов в таблице всего семь. После квалификатора DISTINCT можно указать несколько столбцов. DISTINCT влияет на все выбранные столбцы, и результат запроса содержит неповторяющиеся комбинации. SELECT DISTINCT department_id, job_id FROM employees;
  23. SQL и SQL*Plus SQL – это язык команд для связи с сервером Oracle из любого инструмента или приложения. Oracle SQL имеет много дополнений. Каждая введенная команда SQL попадает в так называемый буфер SQL и остается там до ввода следующей команды. iSQL*Plus – это инструмент Oracle, который распознает команды SQL, передает их на исполнение серверу Oracle и имеет свой собственный язык команд. Особенности SQL Не требует опыта программирования у пользователя Непроцедурный язык Сокращает время, необходимое для создания и сопровождения систем Близок к английскому языку Особенности SQL*Plus Доступен из браузера Допускает незапланированный ввод команд Предоставляет онлайновый редактор для редактирования команд SQL Управляет параметрами среды Преобразует результаты запросов в отформатированный базовый отчет Позволяет обращаться к местным и удаленным базам данных
  24. SQL и SQL*Plus(продолжение)
  25. iSQL*Plus iSQL*Plus – это среда, в которой можно делать следующее: Выполнять команды SQL для выборки, изменения и удаления данных в БД. Форматировать результаты запроса, выполнять с ними вычисления, хранить и печатать в виде отчетов. Создавать файлы сценариев с командами SQL для повторного использования. Команды iSQL*Plus можно разделить на следующие категории:
  26. Вызов SQL*Plus Способ вызова SQL*Plus зависит от типа операционной системы и среды Windows. Для вызова из Windows: Нажмите Start  Programs Oracle for Windows NT  SQL*Plus 8.1. Введите имя пользователя, пароль и имя БД. Для вызова из командной строки: Зарегистрируйтесь на своей машине. Введите команду SQL*Plus, как на слайде. В команде: usernameваше имя пользователя БД passwordваш пароль для входа в БД @databaseстрока для подключения к БД Примечание: для сохранения тайны пароля не вводите его по приглашению OC. Введите только свое имя пользователя. Пароль вводите в ответ на приглашение ввести пароль.
  27. Вызов iSQL*Plus Способ вызова iSQL*Plus из среды браузера: Запустите браузер. Введите адрес URL address среды iSQL*Plus. Введите имя пользователя, пароль и имя БД. После успешного подключения к iSQL*Plus вы увидите следующее:
  28. Среда iSQL*Plus Внутри браузера окно iSQL*Plus имеет несколько основных областей: Поле ввода команд: Область, где вы печатаете команды SQL и iSQL*Plus. Кнопка Выполнить: Кликните для выполнения команд находящихся в поле ввода. Кнопка Сохранить сценарий: Сохраняет содержимое поля ввода в файле. Кнопка Очистить экран: Кликните для удаления текста из поля ввода. Кнопка Отмена: Кликните для прерывания выполнения команды. Поле локализации сценария: Идентифицирует имя и месторасположение файла сценария, который вы хотите выполнить. Кнопка Browse: Кликните для поиска нужного файла сценария при помощи стандартного диалогового окна Windows File Open. Пиктограмма Завершить сеанс: Кликните для завершения сеанса iSQL*Plus и возвращения в окно соединения iSQL*Plus. Пиктограмма Справка: Дает доступ а справочной документации iSQL*Plus.
  29. Вывод структуры таблиц В iSQL*Plus для вывода структуры таблицы используется команда DESCRIBE. Эта команда выдает имена столбцов и типы данных, а также сведения о том, должен ли столбец содержать данные. Синтаксис: tablename имя любой существующей таблицы, представления или синонима, доступного пользователю.
  30. Вывод структуры таблиц(продолжение) Пример показывает вывод информации о структуре таблицы DEPARTMENTS. Результат: Null?Показывает, должен ли столбец содержать данные; NOT NULL означает, что наличие данных в столбце обязательно. Typeпоказывает тип данных для столбца. Типы данных описаны в следующей таблице:
  31. Взаимодействие с файлами сценариев Вы можете сохранить команды непосредственно из поля ввода команд iSQL*Plus в текстовый файл сценария: Введите команду SQL в поле ввода команд iSQL*Plus. Кликните кнопку сохранения сценария. Она откроет диалоговое окно Windows File Save. Идентифицируйте имя файла. По умолчанию расширение .html. Вы можете изменить тип файла на текстовый или сохранить его как .sql.
  32. Взаимодействие с файлами сценариев Вы можете использовать предварительно сохраненные команды из файла сценария в iSQL*Plus: Введите имя и месторасположение сценария. Или кликните кнопку Browse для поиска сценария. Кликните кнопку загрузки сценария. Содержимое файла загрузится в поле ввода команд iSQL*Plus. Кликните кнопку Выполнить для запуска содержимого поля ввода команд iSQL*Plus.
  33. Взаимодействие с файлами сценариев Вы можете сохранить результат, генерируемый командой SQL или iSQL*Plus в файл: непосредственно из поля ввода команд iSQL*Plus в текстовый файл сценария: Введите команду SQL и команду iSQL*Plus в поле ввода команд iSQL*Plus. Кликните пиктограмму Предпочтительные параметры  Параметры интерфейса  Вывод  Файл.
  34. Команда SELECT На этом занятии вы научились производить выборку данных с помощью команды SELECT. SELECT [DISTINCT] {* | column[alias], . . .} FROMtable ; где: SELECTсписок, содержащий, по крайней мере, один столбец. DISTINCTподавляет дубликаты. *выбирает все столбцы. columnвыбирает указанный столбец. aliasприсваивает заданному столбцу другой заголовок. FROM tableуказывает таблицу, содержащую столбцы. iSQL*Plus iSQL*Plus – это исполнительная среда, которую можно использовать для посылки команд SQL на сервер баз данных, а также редактирования и сохранения команд SQL в файле. Команды могут выполняться из командной строки SQL или скрипт-файла.
  35. Обзор практического задания Это первое из многочисленных практических упражнений. Решения (если они потребуются) содержатся в приложении А. Упражнения охватывают все темы этого урока. Упражнения 2-4 выполняются на бумаге. На многих практических заданиях предлагаются упражнения повышенной сложности или на случай, если осталось время. Эти задания следует делать только после того, как вы ответили на все основные вопросы в отведенное время. Выполняйте упражнения медленно и точно. Можно поэкспериментировать с созданием и выполнением файлов сценариев. С вопросами всегда можно обратиться к преподавателю.