лабраб 2

326 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
326
On SlideShare
0
From Embeds
0
Number of Embeds
12
Actions
Shares
0
Downloads
3
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

лабраб 2

  1. 1. Язык SQL Лабораторная работа №2 <ul><li>Операторы манипулирования данными </li></ul><ul><li>Добавление данных </li></ul><ul><li>INSERT INTO table [( column [ , column... ])] </li></ul><ul><li>VALUES ( value [ , value ... ]); </li></ul>
  2. 2. Продолжение <ul><li>Обновление данных </li></ul><ul><li>UPDATE table </li></ul><ul><li>SET column = value [, column = value, ... ] </li></ul><ul><li>[WHERE condition ]; </li></ul><ul><li>UPDATE employees </li></ul><ul><li>SET department_id = 70 </li></ul><ul><li>WHERE employee_id = 113; </li></ul><ul><li>Удаление данных </li></ul><ul><li>DELETE [FROM] table </li></ul><ul><li>[WHERE condition ]; </li></ul><ul><li>DELETE FROM departments </li></ul><ul><li>WHERE department_name = 'Finance'; </li></ul>
  3. 3. Выбор данных Select <ul><li>SELECT *|{[DISTINCT] column|expression [ alias ],...} </li></ul><ul><li>FROM table </li></ul><ul><li>[WHERE condition(s)]; </li></ul><ul><li>[ORDER BY {column, expr, alias} [ASC|DESC]]; </li></ul><ul><li>SELECT department_id, location_id </li></ul><ul><li>FROM departments; </li></ul>
  4. 4. ФУНКЦИИ <ul><li>NVL ( expr 1, expr 2) </li></ul><ul><li>expr 1 - исходное или вычисленное значение, которое может быть неопределенного значения. </li></ul><ul><li>expr 2 значение, которое подставляется вместо неопределенного значения. </li></ul><ul><li>Функция возвращает значение expr1, если оно не нулевое, иначе возвращает expr 2 </li></ul><ul><li>2- NVL2 (expr1, expr2, expr3) </li></ul><ul><li>Return expr2, если expr1 is not null </li></ul><ul><li>Return expr3, если expr1 is null </li></ul>
  5. 5. Примеры применения функций <ul><li>SELECT last_name, commission_pct, NVL(commission_pct, 0) </li></ul><ul><li>FROM employees; </li></ul><ul><li>SELECT last_name, salary, commission_pct, </li></ul><ul><li>NVL2(commission_pct, 'SAL+COMM', 'SAL') income </li></ul><ul><li>FROM employees WHERE department_id IN (50, 80); </li></ul><ul><li>SELECT first_name, LENGTH(first_name) &quot;expr1&quot;, </li></ul><ul><li>last_name, LENGTH(last_name) &quot;expr2&quot;, </li></ul><ul><li>NULLIF(LENGTH(first_name), LENGTH(last_name)) result </li></ul><ul><li>FROM employees; </li></ul>
  6. 6. Выборка данных из нескольких таблиц <ul><li>SELECT table1.column, table2.column </li></ul><ul><li>FROM table1, table2 </li></ul><ul><li>WHERE table1.column1 = table2.column2; </li></ul><ul><li>Пример </li></ul><ul><li>SELECT employees.employee_id, employees.last_name, </li></ul><ul><li>employees.department_id, departments.department_id, departments.location_id </li></ul><ul><li>FROM employees, departments </li></ul><ul><li>WHERE employees.department_id = departments.department_id; </li></ul>
  7. 7. Функции группирования “Group Functions” <ul><li>(avg, count, sum, max, min, stddev, variance). </li></ul><ul><li>SELECT [ column ,] group_function(column), ... </li></ul><ul><li>FROM table </li></ul><ul><li>[WHERE condition ] </li></ul><ul><li>[GROUP BY column ] </li></ul><ul><li>[ORDER BY column ]; </li></ul><ul><li>SELECT AVG(salary), MAX(salary), </li></ul><ul><li>MIN(salary), SUM(salary) </li></ul><ul><li>FROM employees </li></ul><ul><li>WHERE job_id LIKE '%REP%'; </li></ul>
  8. 8. Использование предиката HAVING <ul><li>SELECT department_id, MAX(salary) </li></ul><ul><li>FROM employees </li></ul><ul><li>GROUP BY department_id </li></ul><ul><li>HAVING MAX ( salary )>10000; </li></ul>
  9. 9. Операторы управления транзакциями <ul><li>COMMIT завершать транзакцию (успешно сохранять изменение) </li></ul><ul><li>ROLLBACK завершать транзакцию (не сохранять изменение) </li></ul><ul><li>SAVEPOINT позволяет вам создать “маркерную точку” внутри транзакции </li></ul>
  10. 10. Создание представлений <ul><li>CREATE [OR REPLACE] [FORCE|NOFORCE] VIEW представление _ имя </li></ul><ul><li>[(alias[, alias]...)] </li></ul><ul><li>AS subquery </li></ul><ul><li>[WITH CHECK OPTION [CONSTRAINT constraint]] </li></ul><ul><li>[WITH READ ONLY [CONSTRAINT constraint]]; </li></ul>

×