русс | укр

Языки программирования

ПаскальСиАссемблерJavaMatlabPhpHtmlJavaScriptCSSC#DelphiТурбо Пролог

Компьютерные сетиСистемное программное обеспечениеИнформационные технологииПрограммирование

Все о программировании


Linux Unix Алгоритмические языки Аналоговые и гибридные вычислительные устройства Архитектура микроконтроллеров Введение в разработку распределенных информационных систем Введение в численные методы Дискретная математика Информационное обслуживание пользователей Информация и моделирование в управлении производством Компьютерная графика Математическое и компьютерное моделирование Моделирование Нейрокомпьютеры Проектирование программ диагностики компьютерных систем и сетей Проектирование системных программ Системы счисления Теория статистики Теория оптимизации Уроки AutoCAD 3D Уроки базы данных Access Уроки Orcad Цифровые автоматы Шпаргалки по компьютеру Шпаргалки по программированию Экспертные системы Элементы теории информации

ORDER ВУ имена столбцов, по которым упорядочивается вывод


Дата добавления: 2013-12-23; просмотров: 1366; Нарушение авторских прав


Создание базовых таблиц.

Таблицы в SQL.

 

Базовые таблицы CREATE TABLE

Рабочие таблицы SELECT

Представление CREATE VIEW

Курсор DECLARE … CURSOR FOR

 


CREATE TABLE table_name(column_name1 type, column_name2 type,...)

· table_name - имя новой таблицы;

· column_name - имена колонок (полей), которые будут присутствовать в создаваемой таблице.

· type - определяет тип создаваемой колонки.

 

Пример:

CREATE TABLE tel_numb(fio text, address text,

tel text)

 

not null - поле не может содержать неопределенное значение.

Например:

CREATE TABLE tel_numb(fio text NOT NULL, address text, tel text NOT NULL)

 

primary key - поле является первичным ключом.

Например:

CREATE TABLE tel_numb(fio text, address text,

tel text, PRIMARY KEY (fio))

 

auto_increment - при вставке новой записи поле получит уникальное значение.

Например:

CREATE TABLE tel_numb(fio text AUTO_INCREMENT, address text, tel text)

 

default - значение по умолчанию.

Например:

CREATE TABLE tel_numb(fio text, address text

DEFAULT 'Не указан', tel text)

 

Удаление таблицы

DROP TABLE table_name

· table_name - имя удаляемой таблицы.

 

DROP TABLE tel_numb

 

[ASC | DESC] [,... n]]

[UNION < выражение с оператором SELECT>]

Здесь:

  • ключевое слово ALL означает, что в результирующий набор строк включа­ются все строки, удовлетворяющие условиям запроса. Это значит, что в результирующий набор могут попасть одинаковые строки. И это нарушение принципов теории отношений (в отличие от реляционной алгебры, где по умолчанию предполага­ется отсутствие дубликатов в каждом результирующем отношении).

· Ключевое слово DISTINCT означает, что в результирующий набор включаются только раз­ личные строки, то есть дубликаты строк результата не включаются в набор.



· Символ * (звездочка) означает, что в результирующий набор включаются все столбцы из исходных таблиц запроса.

· В разделе FROM задается перечень исходных отношений (таблиц) запроса.

· В разделе WHERE задаются условия отбора строк результата или условия соединения кортежей исходных таблиц, подобно операции условного соединения в реляционной алгебре.

· В разделе GROUP BY задается список полей группировки.

· В разделе HAVING задаются предикаты-условия, накладываемые на каждую группу.

· В части ORDER BY задается список полей упорядочения результата, то есть список полей, который определяет порядок сортировки в результирующем отношении.

· Директива UNION используется для объединения выходных данных двух или более SQL-запросов в единое множество строк и столбцов.


===== СОЗДАНИЕ ЗАПРОСА =====

 

КОМАНДА SELECT

 

SELECT snum, sname, sity, comm

FROM Salespeople;

 

Вывод для этого запроса

 

snum sname city comm

------ ---------- ----------- -------

1001 Peel London 0.12

1002 Serres San Jose 0.13

1004 Motika London 0.11

1007 Rifkin Barcelona 0.15

1003 Axelrod New York 0.10

=====================================

 


 

SELECT *

FROM Salespeople;

 

 

ПЕРЕУПОРЯДОЧЕНИЕ СТОЛБЦА

 

SELECT odate, snum, onum, amt

FROM Orders;

 

УДАЛЕНИЕ ИЗБЫТОЧНЫХ ДАННЫХ

 

DISTINCT (ОТЛИЧИЕ)


SELECT snum

FROM Orders;

| snum |

| ------- |

| 1007 |

| 1001 |

| 1004 |

| 1002 |

| 1007 |

| 1003 |

| 1002 |

| 1001 |

| 1002 |

| 1001 |

 

SELECT DISTINCT snum

FROM Orders;

 

ALL вместо DISTINCT

Критерии для определения строк вывода

WHERE

 

SELECT sname, city

FROM Salespeople;

WHERE city = "LONDON";

=============================== |

sname city

------- ----------

Peel London

Motika London

============================

SELECT *

FROM Customers

WHERE rating = 100;

ИСПОЛЬЗОВАНИЕ РЕЛЯЦИОННЫХ И БУЛЕВЫХ ОПЕРАТОРОВ

 

 

==== РЕЛЯЦИОННЫЕ ОПЕРАТОРЫ ====

 

= Равный к

> Больше чем

< Меньше чем

>= Больше чем или равно

<= Меньше чем или равно

<> Не равно

<> Не равно

!= Не равно

!> Не больше

!< Не меньше

( ) Изменение приоритета операции

 

SELECT *

FROM Customers

WHERE rating > 200;

==== БУЛЕВЫ ОПЕРАТОРЫ ====

AND, OR, и NOT.

SELECT *

FROM Customers

WHERE city = " LONDON "

AND rating > 200;

 

SELECT *

FROM Customers

WHERE city = " LONDON "

OR NOT rating > 200;

Вывод запроса

 

cnum cname city rating snum

---- ------- -------- ------ ----

2001 Hoffman London 100 1001

2002 Giovanni Rome 200 1003

2006 Clemens London 100 1001

2007 Pereira Rome 100 1004

неправильным вводом оценки будет:

rating NOT > 200

 

SELECT *

FROM Customers

WHERE NOT city = " London "

OR rating > 200;

 

SELECT *

FROM Customers

WHERE NOT( city = " London "

OR rating > 200 );

SELECT *

FROM Orders

WHERE NOT((odate=10/03/2005

AND snum >1002) OR amt > 2000.00);

 

onum amt odate cnum snum

------ -------- ---------- ----- -----

3003 767.19 10/03/2005 2001 1001

3009 1713.23 10/04/2005 2002 1003

3007 75.75 10/04/2005 2004 1002

3010 1309.95 10/06/2005 2004 1002

 

ИСПОЛЬЗОВАНИЕ СПЕЦИАЛЬНЫХ ОПЕРАТОРОВ В УСЛОВИЯХ.

IN, BETWEEN, LIKE, IS NULL

 

========= ОПЕРАТОР IN ==========

SELECT *

FROM Salespeople

WHERE city = 'Barcelona'

OR city = 'London';

SELECT *

FROM Salespeople

WHERE city IN ( 'Barcelona', 'London' );

 

=============================

snum sname city comm

------ ---------- ----------- -------

1001 Peel London 0.12

1004 Motika London 0.11

1007 Rifkin Barcelona 0.15

=============================

SELECT *

FROM Customers

WHERE cnum IN ( 1001, 1007, 1004 );

 

============================

snum cname city rating snum

------ -------- ------ ---- ------

2001 Hoffman London 100 1001

2006 Clemens London 100 1001

2008 Cisneros Barcelona 300 1007

2007 Pereira Rome 100 1004

=============================


======= ОПЕРАТОР BETWEEN =======

SELECT *

FROM Salespeople

WHERE comm BETWEEN 0.10 AND 0.12;

 

=============================

snum sname city comm

------ ---------- ----------- -------

1001 Peel London 0.12

1004 Motika London 0.11

1003 Axelrod New York 0.10

=============================

 

SELECT *

FROM Salespeople

WHERE (comm BETWEEN 0.10, AND 0.12)

AND NOT comm IN (0.10, 0.12 );

 

 

Вывод для этого запроса

=============================

snum sname city comm

------ ---------- ----------- -------

1004 Motika London 0.11

=============================

 

 

 


SELECT *

FROM Customers

WHERE cname BETWEEN 'A' AND 'G';

 

Вывод для этого запроса

=============================

cnum cname city rating snum

------ -------- ------ ---- ------

2006 Clemens London 100 1001

2008 Cisneros New York 300 1007

=============================

 

Grass и Giovanni

 

======== ОПЕРАТОР LIKE =========

_ один одиночный символ

% последовательность любого числа символов

 

[НаборСимволов] - Любой одиночный символ, входящий в список НаборСимволов

 

[^НаборСимволов] - Любой одиночный символ, не входящий в список НаборСимволов

 

 


Результаты применения оператора Like для образцов различного вида.

 

Образец True False

 

"a%a" "aa", "aBa", "aBBBa" "aBC"

 

"%ab%" "abc", "AabB", "Xab" "aZb",

"bac"

 

 

"ab%" "abcdefg", "abc" "cab",

"aab"

 

"a_a" "aaa", "a3a", "aBa" "aBBBa"

 

 

"[a-z]" "f", "p", "j" "2", "&"

 

"[^a-z]" "9", "&", "%" "b", "a"

 

"[^0-9]" "A", "a", "&", "~" "0","1","9"

 

"a[^b-m]_" "An9", "az0", "a9m" "abc2",

"aj0r"

 

 

SELECT список_столбцов

FROM список_таблиц

WHERE имя_столбца [NOT] LIKE 'строка';

 

 

SELECT *

FROM Customers

WHERE cname LIKE 'G%';

 

================================

cnum cname city rating snum

------ -------- ------ ---- ------

2002 Giovanni Rome 200 1003

2004 Grass Berlin 300 1002

================================

 

Peal Peel

 

SELECT *

FROM Salespeople

WHERE sname LIKE 'P _ _ l %';

 

=================================

snum sname city comm

------ ---------- ----------- -------

1001 Peel London 0.12

==================================

 


Символ ESCAPE

 

SELECT *

FROM Salespeople

WHERE sname LIKE ' % /_ % 'ESCAPE'/';

 

SELECT *

FROM Salespeople

WHERE sname LIKE ' % /_ / / %'ESCAPE'/';

 

======= NULL ОПЕРАТОР =======

 

выражение типа

'city = NULL' или 'city IN (NULL)' будет неизвестно

 

 

оператор IS

используется с ключевым словом NULL для размещения значения NULL.

 

SELECT *

FROM Customers

WHERE city IS NULL;

 

 

ИСПОЛЬЗОВАНИЕ NOT СО СПЕЦИАЛЬНЫМИ ОПЕРАТОРАМИ

 

SELECT *

FROM Customers

WHERE city NOT NULL;

 

 

SELECT *

FROM Customers

WHERE NOT city IS NULL;

 

Мы можем также использовать

NOT с IN:

 

 

SELECT *

FROM Salespeople

WHERE city NOT IN ('London', 'Rome');

 

 

SELECT *

FROM Salespeople

WHERE NOT city IN ('London', 'Rome');

 

 

Таким же способом можно использовать NOT BETWEEN и NOT LIKE.

 



<== предыдущая лекция | следующая лекция ==>
Идентификаторы MySQL | Объединение данных в синтаксисе SQL'99


Карта сайта Карта сайта укр


Уроки php mysql Программирование

Онлайн система счисления Калькулятор онлайн обычный Инженерный калькулятор онлайн Замена русских букв на английские для вебмастеров Замена русских букв на английские

Аппаратное и программное обеспечение Графика и компьютерная сфера Интегрированная геоинформационная система Интернет Компьютер Комплектующие компьютера Лекции Методы и средства измерений неэлектрических величин Обслуживание компьютерных и периферийных устройств Операционные системы Параллельное программирование Проектирование электронных средств Периферийные устройства Полезные ресурсы для программистов Программы для программистов Статьи для программистов Cтруктура и организация данных


 


Не нашли то, что искали? Google вам в помощь!

 
 

© life-prog.ru При использовании материалов прямая ссылка на сайт обязательна.

Генерация страницы за: 0.014 сек.