Изучаем SQL. №19. SQL views или представления

<Изучаем SQL
SQL — высокоуровневый язык и имеет немало плюшек в своих функциональных недрах. Одной из таких, является возможность создания представлений. Это как функция, с уже заготовленным кодом, только в нашем случае — с запросом. Вьюхи могут сильно упростить вам работу, если правильно ими пользоваться. Но, к сожалению или счастью, их не так уж и часто используют. Но это они (разработчики) зря.
Итак, как всегда от слов к делу, поехали!
Традиционно будем создавать базу, наполнять ее и делать всякие гадости в виде запросов. Ну что, создадим свою базу с таблицами и вьюхами?

База users, таблиц: user(id_user,name), age(id,age,id_name):

CREATE DATABASE users;
USE users;
CREATE TABLE user (id_user int AUTO_INCREMENT PRIMARY KEY,name VARCHAR(50));
CREATE TABLE age (id int AUTO_INCREMENT PRIMARY KEY,age int,id_user int, FOREIGN KEY (id_user) REFERENCES user(id_user));

Теперь наполним наши таблички. Пользователи:

INSERT INTO user (name) VALUES ('Игорь');
INSERT INTO user (name) VALUES ('Света');
INSERT INTO user (name) VALUES ('Олег');
INSERT INTO user (name) VALUES ('Ирина');
INSERT INTO user (name) VALUES ('Даша');
INSERT INTO user (name) VALUES ('Ибрагим');
INSERT INTO user (name) VALUES ('Зульфия');

И возраста:

INSERT INTO age (age,id_user) VALUES (25,1);
INSERT INTO age (age,id_user) VALUES (22,2);
INSERT INTO age (age,id_user) VALUES (42,3);
INSERT INTO age (age,id_user) VALUES (12,4);
INSERT INTO age (age,id_user) VALUES (59,5);
INSERT INTO age (age,id_user) VALUES (5,6);
INSERT INTO age (age,id_user) VALUES (87,7);
SELECT * FROM age;

Соединаем их NATURAL JOIN:

SELECT u.name, a.age FROM user u NATURAL JOIN age a;

А теперь создаем представление, которое будет содержать в себе этот запрос. И, сразу же проверяем:

CREATE VIEW usag AS SELECT u.name, a.age FROM user u NATURAL JOIN age a;
SELECT * FROM usag;

Все, теперь вам не нужно писать длинный запрос повторно, достаточно обратиться к представлению. Правда очень удобно?
Ребята, возможно это последний урок по MySQL. У меня есть несколько задумок для дальнейших уроков. Возможно это будут так же базы данных, но уже MSSQL. Возможно PHP, продолжение Python, или же JavaScript. А может вы хотите какую-то другую тему рассмотреть вместе со мной. То буду рад сотрудничать.
В любом случае все свои замечания и предложения оставляйте в комментариях и на моем форуме. Заранее благодарю за внимание!

P.S. Для всех любителей азартных игр могу посоветовать потрепать нервишки на сайте принимающем спортивные ставки. Выбирай свою букмекерскую контору и вперед!

Введи свой e-mail:

One thought on “Изучаем SQL. №19. SQL views или представления

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *