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 Моля, имайте предвид, че макар да се свържете, за да получите две таблици трябва да се отговори, обаче, колони с резултати получават само от масата на отдела.Свързани статии