ПредишенСледващото

II) Въпроси за езика SQL

Как можете да укажете на изхода на всички колони в таблица?

За да покажете всички колони в таблицата трябва или да се изброят всички колони в SELECT клаузата, или да използвате знака "*" вместо списък с колони. Следната заявка показва цялата маса ФАКУЛТЕТ:

Защо е необходимо имената на псевдоним на колоните? Как става това?

Квалификационна колона имена на търговски маси. Името на колона може да се квалифицира (актуализирано) име на таблица като използвате следния синтаксис:

Изясняване на името на колоната трябва да е в случая, когато заявката използва много маси (вж. По-късно) и различни маси имат колони с едно и също име. Изясняване на името на колоната може да се направи в случаите, когато не е необходимо за това. Така например, следната заявка се счита за вярна:

SELECT ROOM.Num, ROOM.Seats, ROOM.Floor

3) Има ли резултат от заявката дубликат редове? Как мога да се премахване на дублиращи се редове?

Можете да изтриете дублиращите се редове с резултати, използвайки фразата DISTINCT или UNIQUE в SELECT клаузата. Тази фраза се отнася за цялата продукция на линията, а не на отделните колони. Например, следните две заявки са еквивалентни и да предоставят списък на всички свободни позиции:

SELECT DISTINCT Мнение изберете Различни Мнение

Предавана от учител; Предавана от учител;

ALL дума означава, че дубликати трябва да бъдат спасени. Тази стойност се използва по подразбиране, ако ключовите думи не са посочени по-горе. Следващите две заявки са еквивалентни:

Избери всички Мнение SELECT Мнение

Предавана от учител; Предавана от учител;

Защо псевдоними колони? Тъй като те се чудя?

Тя осигурява друго име за експресията на колоната и тази псевдоним се използва като заглавната част на колона. AS фраза не е задължително. Alias ​​преименува т SELECT списък на фрази в контекста на искането. Псевдоним може да се използва във фразата, подредени по, но неговото използване е забранено в други фрази.

Защо имената на квалификация графи в таблицата?

Квалификационна колона имена на търговски маси. Името на колона може да се квалифицира (актуализирано) име на таблица като използвате следния синтаксис:

Изясняване на името на колоната трябва да е в случая, когато заявката използва много маси (вж. По-късно) и различни маси имат колони с едно и също име. Изясняване на името на колоната може да се направи в случаите, когато не е необходимо за това. Така например, следната заявка се счита за вярна:

SELECT ROOM.Num, ROOM.Seats, ROOM.Floor

Какво е външна връзка? Идентифициране и обърнете внимание на искането на външна връзка.

Външна връзка (външна присъединят). Външно връзка разширява възможностите на конвенционалните съединения. Външна връзка връща всички редове, които отговарят на условието на съединението, както и редица от маси, за които не е имало ред от друга маса, която ще отговаря на условието за връзка. Тези линии не се връщат конвенционален съединение. За да се произведе външна връзка таблици А и Б да доведе всички редове на масата, операторът трябва да се прилага външна връзка (+) на всички колони на таблица Б. За всички редове на таблица А, за които не е имало съвпадение редове от таблица В , Oracle връща NULL за всички тези изрази от списъка за избиране че използвате колони от Б. в този пример, ние получаваме списък на факултети и катедри и отдели имена присъстват дори в случаите, когато те не са факултетите - в този случай вместо име отдел изходна стойност NULL:

SELECT FACULTY.Name AS FacName, DEPARTMENT.Name AS DepName, DEPARTMENT.Fund AS DepFund

ОТ ФАКУЛТЕТ, КАТЕДРА

КЪДЕТО FACULTY.FacNo = DEPARTMENT.FacNo (+);

Как може да се свърже две или повече таблици?

Много таблици. Ако посочите списък на маси във фразата ОТ, а след това всички на първия ред на таблицата са съединявани с всички редове от втората таблица. Например, заявката:

ОТ ФАКУЛТЕТ, КАТЕДРА;

произвежда конкатенацията на всички ФАКУЛТЕТ маса струни с всички редове ОТДЕЛ маса. Тази заявка е аналогични операции декартово произведение на релационна алгебра.

Свързване на две маси. За получаване на семантично-значими резултати, трябва да бъде свързан със службите линия на тези редове на столове, които принадлежат на тези способности.

Използването на колона FacNo, която присъства и в двете таблици, можете да свържете само с факултетите на техните отделения, които използват условията на клауза WHERE, както е показано на следната заявка:

ОТ ФАКУЛТЕТ, КАТЕДРА

КЪДЕТО FACULTY.FacNo = DEPARTMENT.FacNo;

Такова съединение се нарича опа-съединение. тъй като той се произвежда от равенството на стойностите на две колони от различни таблици.

Свържете много маси. Можете да се свържете най-много маси, колкото е необходимо, например, следната заявка показва факултетите с техните преподаватели:

SELECT FACULTY.Name, TEACHER.Name

ОТ ФАКУЛТЕТ, КАТЕДРА, учител

КЪДЕ FACULTY.FacNo = DEPARTMENT.FacNo И DEPARTMENT.DepNo = TEACHER.DepNo;

Имайте предвид, че колоните на отдела за маса не се показва, тя се използва само за да се свържете факултет към факултета. (Логически оператори ще бъдат обсъдени по-късно).

Имайте предвид задължителните графи. При използване на повече от една маса, можете да посочите като изходните колони от различни таблици. Ако е необходимо, се изброяват могат да бъдат посочени имена на таблици. Имената на колони също могат да бъдат преименувани с помощта на псевдоними, както се прави в следната заявка:

SELECT FACULTY.Name AS Faculty_name,

DEPARTMENT.Name AS Department_name,

DEPARTMENT.Fund AS Department_fund

ОТ ФАКУЛТЕТ, КАТЕДРА

КЪДЕТО FACULTY.FacNo = DEPARTMENT.FacNo;

Съединението съгласно състоянието, което се характеризира с равенство. Равно-връзка използва оператора на равенство (=) в КЪДЕТО фраза да се присъедини към таблици, други релационна оператори се използват в съединенията на не-еквивалентност. Например, в следния пример показва отдела, които имат финансиране фонд превишаване на финансиране факултет фонд:

SELECT DEPARTMENT.Name, DEPARTMENT.Fund

ОТ ФАКУЛТЕТ, КАТЕДРА

КЪДЕ FACULTY.Fund

Моля, имайте предвид, че макар да се свържете, за да получите две таблици трябва да се отговори, обаче, колони с резултати получават само от масата на отдела.

Свързани статии

Подкрепете проекта - споделете линка, благодаря!