Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)

Презентация:



Advertisements
Похожие презентации
СУБД 5. SQL для выборки данных. 2 SELECT Обработка элементов оператора SELECT выполняется в следующей последовательности: FROM – определяются имена используемых.
Advertisements

Вставка INSERT INTO table (column, column,...) VALUES (expr, expr...) LOAD DATA INFILE "C:\\tmp\\file.txt" INTO TABLE table.
1 БАЗЫ ДАННЫХ Использование SQL для построения запросов. ЗАНЯТИЕ 6 ПУГАЧЁВ Ю.В. Учитель информатики Харьковская общеобразовательная школа І-ІІІ ступеней.
Базы данных Язык запросов SQL. Команда SELECT. Команда SELECT – выборка данных Общий синтаксис: SELECT [{ ALL | DISTINCT }] { список_вывода | * } FROM.
Основы SQL Запросы к базе данных. Что такое база данных SQL? SQL (Structured Query Language - «Структурированный язык запросов») - универсальный компьютерный.
1 Лекция 6 Команды категории извлечения данных языка структурированных запросов SQL План лекции Выборка определенных столбцов таблицы Устранение избыточных.
СУБД Microsoft Access 2003 Элементы языка SQL. Язык SQL SQL (Structured Query Language) – структурированный язык запросов Язык SQL применяется во многих.
СУБД 7. Использование подзапросов в языке запросов SQL.
БАЗЫ ДАННЫХ ЛЕКЦИЯ 12. тема: ОСНОВЫ ЯЗЫКА SQL Общие сведения SQL структурированный язык запросов (Structured Query Language)
Язык SQL Операторы манипулирования данными. Операции манипулирования данными DELETE операция удаления записей INSERT операция добавления или ввода новых.
1 Основы SQL: MySQL Будем использовать MySQL СУБД с открытым кодом Бесплатная версия (Community Edition) – на В Linux-дистрибутивах.
Язык SQL
Бланк запроса. Создание списка специальностей Вид при конструирования запросов.
1 TRANSACT-SQL. Лекция 3. © Куркурин Николай Дмитриевич. (906) Microsoft SQL Server 2000.
Язык SQL Последовательности Представления Индексы.
База данных База данных – это конкретная предметная область, описанная с помощью таблиц.
PL/SQL Взаимодействие с СУБД. Специальные типы Имя_таблицы.имя_столбца%TYPE Имя_таблицы%ROWTYPE; Имя_курсора%ROWTYPE;
«ИЗМЕНЕНИЕ ДАННЫХ В БД» Выполнил: студент 722 группы Специальности Информационные системы (по отрослям) Токарев Виктор.
СУБД MySQL - клиент-серверная СУБД Числовые(целые,действительные) Существует несколько разных типов целых чисел, различающихся количеством байтов данных,
SQL Лекция 3. DDL (Data definition language). Язык определения данных (DDL) является частью SQL, дающей пользователю возможность создавать различные объекты.
Транксрипт:

Выражения унарные (унарный минус) арифметические (+, -, *, /) сравнения (, =, =, , LIKE, BETWEEN...) конкатенации (||) логические (NOT, AND, OR)

Добавление строк, INSERT INSERT INTO название_таблицы VALUES (значение1[, значение2]);

INSERT INSERT INTO PHONENOTE.NOTE VALUES (1, 'IVANOV', 'IVAN', 'PR. POBEDI, 40');

INSERT IINSERT INTO PHONENOTE.PHONE VALUES (1, 1, NULL);

INSERT INSERT INTO PHONENOTE.NOTE(NOTE_ID, LASTNAME, FIRSTNAME) VALUES (1, 'Смирнов', 'Андрей');

Удаление строк, DELETE DELETE FROM название_таблицы WHERE условие;

DELETE Пример: Удалить все записи из таблицы NOTE DELETE FROM PHONENOTE.NOTE; Пример: Удалить первую запись из таблицы NOTE DELETE FROM PHONENOTE.NOTE WHERE NOTE_ID=1;

Модификация строк, UPDATE UPDATE название_таблицы SET название_поля1= значение[, название_поля2= значение] WHERE условие;

UPDATE UPDATE PHONENOTE.NOTE SET ADDRESS='г. Челябинск';

UPDATE UPDATE PHONENOTE.NOTE SET ADDRESS='г. Челябинск' WHERE ADDRESS IS NULL;

UPDATE UPDATE PHONENOTE.NOTE SET ADDRESS='г. Челябинск' || ADDRESS WHERE ADDRESS NOT NULL;

UPDATE UPDATE PHONENOTE.NOTE SET ADDRESS=NULL;

SELECT SELECT [ALL | DISTINCT ] {*|[имя_столбца [AS новое_имя]]} [,...n] FROM имя_таблицы [[AS] псевдоним] [,...n] [WHERE ] [GROUP BY имя_столбца [,...n]] [HAVING ] [ORDER BY имя_столбца [,...n]]

SELECT: ALL/DISTINCT Пример: Показать все уникальные фамилии SELECT DISTINCT LASTNAME FROM PHONENOTE.NOTE;

SELECT: FROM Пример: Вывести все строки из таблицы NOTE SELECT * FROM PHONENOTE.NOTE; Пример: Вывести фамилии и имена из таблицы NOTE SELECT LASTNAME, FIRSTNAME FROM PHONENOTE.NOTE;

SELECT: FROM: INNER JOIN Пример: вывести фамилию, имя и телефон. SELECT PHONENOTE.NOTE.LASTNAME, PHONENOTE.NOTE.FIRSTTNAME, PHONENOTE.PHONE.PHONE FROM PHONENOTE.PHONE INNER JOIN PHONENOTE.NOTE ON PHONENOTE.PHONE.NOTE_FK= PHONENOTE.NOTE.NOTE_ID;

SELECT: WHERE Сравнение: сравниваются результаты вычисления одного выражения с результатами вычисления другого. Диапазон: проверяется, попадает ли результат вычисления выражения в заданный диапазон значений. Принадлежность множеству: проверяется, принадлежит ли результат вычислений выражения заданному множеству значений. Соответствие шаблону: проверяется, отвечает ли некоторое строковое значение заданному шаблону. Значение NULL: проверяется, содержит ли данный столбец определитель NULL (неизвестное значение).

SELECT: WHERE (Сравнение) Операторы сравнения = < > = AND OR NOT

SELECT: WHERE (Сравнение) Выражение вычисляется слева направо. Первыми вычисляются подвыражения в скобках. Операторы NOT выполняются до выполнения операторов AND и OR. Операторы AND выполняются до выполнения операторов OR.

SELECT: WHERE (Сравнение) Пример: Показать все телефоны первого человека в таблице NOTE SELECT * FROM PHONENOTE.PHONE WHERE NOTE_FK=1; Пример: Показать все телефоны первого и второго человека в таблице NOTE SELECT * FROM PHONENOTE.PHONE WHERE NOTE_FK=1 AND NOTE_FK=2;

SELECT: WHERE (Диапазон) Пример: Показать с 1 по 3 запись из таблицы NOTE SELECT * FROM PHONENOTE.NOTE WHERE NOTE_ID BETWEEN 1 AND 3; Пример: Показать все записи, начиная с 4 из таблицы NOTE SELECT * FROM PHONENOTE.NOTE WHERE NOTE_FK NOT BETWEEN 1 AND 3;

SELECT: WHERE ( Принадлежность множеству ) Пример: Показать всех людей с именами Ivan и Petr SELECT FIRSTNAME, LASTNAME FROM PHONENOTE.NOTE WHERE FIRSTNAME IN («IVAN», «PETR»); Пример: Показать всех людей с любыми именами, кроме Ivan и Petr SELECT FIRSTNAME, LASTNAME FROM PHONENOTE.NOTE WHERE FIRSTNAME NOT IN («IVAN», «PETR»);

SELECT: WHERE ( Соответствие шаблону ) % - вместо этого символа может быть подставлено любое количество произвольных символов. _ - заменяет один символ строки. [] - вместо символа строки будет подставлен один из возможных символов, указанный в этих ограничителях. [^] - вместо соответствующего символа строки будут подставлены все символы, кроме указанных в ограничителях.

SELECT: WHERE ( Соответствие шаблону ) Пример: Показать всех людей, фамилия которых начинается на I SELECT LASTNAME, FIRSTNAME, ADDRESS FROM PHONENOTE.NOTE WHERE LASTNAME LIKE 'I%' Пример: Вывести все номера телефонов, в которых вторая цифра равна 3 или 5. SELECT PHONE FROM PHONENOTE.PHONE WHERE PHONE LIKE '_[35]%'

SELECT: WHERE ( Значение NULL ) Пример: Вывести все записи из таблицы PHONE, в которых не указан номер телефона SELECT PHONE FROM PHONENOTE.PHONE WHERE PHONE IS NULL; Пример: Вывести все записи из таблицы PHONE, в которых указан номер телефона SELECT PHONE FROM PHONENOTE.PHONE WHERE PHONE IS NOT NULL;

SELECT: ORDER BY Пример: Вывести фамилию, имя человека и его адрес. При этом адрес отсортировать по возрастанию, а фамилию по убыванию. SELECT LASTNAME, FIRSTNAME, ADDRESS FROM PHONENOTE.NOTE ORDER BY ADDRESS, LASTNAME DESC;

Вычисляемые поля Пример: Вывести Фамилию и имя в одном поле SELECT LASTNAME ||' '|| FIRSTNAME AS NAME, ADDRESS FROM PHONENOTE.NOTE; Пример: Вывести все известные нам года рождения из таблицы BIRTHDAY SELECT YEAR(BIRTHDAY) AS YEAR FROM PHONENOTE.BIRTHDAY;

Итоговые (агрегатные) функции COUNT MIN/MAX AVG SUM

Итоговые (агрегатные) функции Пример: Подсчитать количество записей в таблице NOTE SELECT COUNT(*) AS NOTE_COUNT FROM PHONENOTE.NOTE; Пример: Вывести человека с фамилией, стоящей первой по алфавиту SELECT MIN(LASTNAME) AS LASTNOTE FROM PHONENOTE.NOTE;

Предложение GROUP BY Пример: Вывести количество номеров телефонов для каждого человека SELECT PHONENOTE.NOTE.LASTNAME, COUNT(PHONENOTE.PHONE.NOTE_FK) FROM PHONENOTE.PHONE INNER JOIN PHONENOTE.NOTE ON PHONENOTE.PHONE.NOTE_FK= PHONENOTE.NOTE.NOTE_ID GROUP BY PHONENOTE.NOTE.LASTNAME;

Предложение HAVING Пример: Вывести количество телефонов для каждого человека, если их больше 2. SELECT PHONENOTE.NOTE.LASTNAME, COUNT(PHONENOTE.PHONE.NOTE_FK) FROM PHONENOTE.PHONE INNER JOIN PHONENOTE.NOTE ON PHONENOTE.PHONE.NOTE_FK= PHONENOTE.NOTE.NOTE_ID GROUP BY PHONENOTE.NOTE.LASTNAME HAVING COUNT(PHONENOTE.PHONE.NOTE_FK)>2;