Образовательный проект «SnakeProject» Михаила Козлова

Навигация

⇒ SQL\T-SQL ⇐

CISCO

Voice(Asterisk\Cisco)

Microsoft

Powershell

Python

FreeBSD and Nix

Общая

WEB Разработка

ORACLE SQL \ JAVA

Мото

Стрельба, пневматика, оружие

Саморазвитие и психология


T-SQL: Index, Primary, Foreign Key - Индексы, внешние, первичные ключи.sql


USE Sbase

CREATE TABLE ind (
    id INT,
    name VARCHAR(30),
    lastname VARCHAR(30)
)

--Установка индекса
CREATE INDEX i_no ON ind (id)
--Удаление индекса
DROP INDEX i_no ON ind

DROP TABLE ind

--Первичные(Столбцы первичного ключа уже имеют индекс) и внешние ключи

CREATE TABLE "firsttable"(
"ID" INT NOT NULL PRIMARY KEY,
"name" NVARCHAR (50) NULL,
"lastname" NVARCHAR (100) NULL
)

CREATE TABLE "secondtable" (
"ID" INT NOT NULL PRIMARY KEY,
"sname" NVARCHAR (50) NULL,
"slastname" NVARCHAR (100) NULL,
"mainID" INT NOT NULL
CONSTRAINT FK_ToFirsttable FOREIGN KEY ("mainID")
REFERENCES "firsttable" ("ID")
);

--Добавим внутрь данные
INSERT INTO firsttable("ID","name", "lastname")
    VALUES ('1','name1', 'lastname1');
    INSERT INTO firsttable("ID","name", "lastname")
    VALUES ('2','name2', 'lastname2');
    INSERT INTO firsttable("ID","name", "lastname")
    VALUES ('3','name3', 'lastname3');
    
INSERT INTO secondtable("ID","sname", "slastname","mainID")
    VALUES ('1','name1', 'lastname1','1');
    INSERT INTO secondtable("ID","sname", "slastname","mainID")
    VALUES ('2','name2', 'lastname2','2');
    INSERT INTO secondtable("ID","sname", "slastname","mainID")
    VALUES ('3','name3', 'lastname3','3');
    
--При объединении таблиц лучше всегда индексировать столбец, являющийся внешним ключом.

--Создадим индекс для внешнего ключа
CREATE NONCLUSTERED INDEX I_FK ON "secondtable" ("mainID");

--Объединение таблиц
SELECT "name", "lastname"
FROM "firsttable" AS FirstT
INNER JOIN "secondtable" AS SecondT
    ON FirstT."ID" = SecondT."mainID" 
WHERE
    FirstT."ID" != 2
    
 SELECT "name", "lastname"
FROM "firsttable" AS FirstT
INNER JOIN "secondtable" AS SecondT
    ON FirstT."ID" = SecondT."ID" 
WHERE
    FirstT."lastname" LIKE '%3%'

Видеоhttp://www.youtube.com/watch?v=iTrRGxzjfkI


Комментарии пользователей

Эту новость ещё не комментировалиНаписать комментарий
Анонимам нельзя оставоять комментарии, зарегистрируйтесь!

Контакты Группа ВК Сборник материалов по Cisco, Asterisk, Windows Server, Python и Django, SQL и T-SQL, FreeBSD и LinuxКод обмена баннерами Видео к IT статьям на YoutubeВидео на другие темы Смотреть
Мои друзья: Советы, помощь, инструменты для сис.админа, статическая и динамическая маршрутизация, FreeBSD

© Snakeproject.ru создан в 2013 году.
При копировании материала с сайта - оставьте ссылку.

Рейтинг@Mail.ru
Рейтинг@Mail.ru Яндекс.Метрика





Поддержать автора и проект