Studopediya

КАТЕГОРИЯ:


Астрономия- (809) Биология- (7483) Биотехнологии- (1457) Военное дело- (14632) Высокие технологии- (1363) География- (913) Геология- (1438) Государство- (451) Демография- (1065) Дом- (47672) Журналистика и СМИ- (912) Изобретательство- (14524) Иностранные языки- (4268) Информатика- (17799) Искусство- (1338) История- (13644) Компьютеры- (11121) Косметика- (55) Кулинария- (373) Культура- (8427) Лингвистика- (374) Литература- (1642) Маркетинг- (23702) Математика- (16968) Машиностроение- (1700) Медицина- (12668) Менеджмент- (24684) Механика- (15423) Науковедение- (506) Образование- (11852) Охрана труда- (3308) Педагогика- (5571) Полиграфия- (1312) Политика- (7869) Право- (5454) Приборостроение- (1369) Программирование- (2801) Производство- (97182) Промышленность- (8706) Психология- (18388) Религия- (3217) Связь- (10668) Сельское хозяйство- (299) Социология- (6455) Спорт- (42831) Строительство- (4793) Торговля- (5050) Транспорт- (2929) Туризм- (1568) Физика- (3942) Философия- (17015) Финансы- (26596) Химия- (22929) Экология- (12095) Экономика- (9961) Электроника- (8441) Электротехника- (4623) Энергетика- (12629) Юриспруденция- (1492) Ядерная техника- (1748) Arhitektura- (3434) Astronomiya- (809) Biologiya- (7483) Biotehnologii- (1457) Военни бизнесмен (14632) Висока technologies- (1363) Geografiya- (913) Geologiya- (1438) на държавата (451) Demografiya- ( 1065) Къща- (47672) журналистика и смирен (912) Izobretatelstvo- (14524) външен >(4268) Informatika- (17799) Iskusstvo- (1338) историята е (13644) Компютри- (11,121) Kosmetika- (55) Kulinariya- (373) културата е (8427) Lingvistika- (374) Literatura- (1642) маркетинг-(23702) математиците на (16968) Механична инженерно (1700) медицина-(12668) Management- (24684) Mehanika- (15423) Naukovedenie- (506) образователна (11852) truda- сигурност (3308) Pedagogika- (5571) Poligrafiya- (1312) Politika- (7869) Лево- (5454) Priborostroenie- (1369) Programmirovanie- (2801) производствено (97 182 ) индустрия- (8706) Psihologiya- (18388) Religiya- (3217) Svyaz (10668) Agriculture- (299) Sotsiologiya- (6455) на (42831) спортист строително (4793) Torgovlya- (5050) транспорт ( 2929) Turizm- (1568) физик (3942) Filosofiya- (17015) Finansy- (26596) химия (22929) Ekologiya- (12095) Ekonomika- (9961) Electronics- (8441) Elektrotehnika- (4623) Мощност инженерно ( 12629) Yurisprudentsiya- (1492) ядрена technics- (1748)

Обикновено избор на данни от базата данни за MS SQL Server




SELECT изявление Основи

Избор на изложението дава възможност за извличане на данни от база данни на SQL Server и да ги представя на потребителя под формата на една или повече серии резултат. Комплектът резултат - тази информация в табличен вид, които произтичат от изпълнението на SELECT изявление. Подобно на масата, резултатния набор се състои от редове и колони. По-долу описва основните компоненти SELECT изявление и да използва (като част от цялото оператора SELECT) за извличане на определени данни от базата данни на SQL Server и представянето им в множеството от резултати.

SELECT оператор Transact-SQL език ви позволява да получавате актуална информация от SQL база данни сървър. Повечето SELECT отчети описват четири основни свойства, включени в комплекта резултат:

• колоните, за да бъдат включени в комплекта резултат;

• маса, от която се извлича данни за генериране на набор резултат;

• условия трябва да бъдат изпълнени от реда от таблицата източник, за да получите най-резултатния набор;

• събиране на последователност на реда в резултатния набор.

Например, SELECT изявление в следния скрипт излиза Лица маса (ако приемем, че той вече е бил създаден в базата данни на) ID персона, си име и възраст, и само тези, които са на възраст над 40 години:

SELECT PersonId, име, личност

от лица,

КЪДЕ личност> 40

ORDER BY личност ASC

GO

В SELECT изявление в този пример определя колоните, от които да извличат ценности, а ОТ клауза - таблица, която съдържа тези колони. КЪДЕ клауза ограничава резултата настроен на тези лица, личност стойност по-голяма от 40. ORDER BY определя дизайна на сортиране резултат набор възходящ личност на база стойността на колоната. SELECT изявление Пълният синтаксис е доста сложно, но може да се запише в общ вид на основната структура, както следва:

SELECT select_list

[INTO imya_novoy_tablitsy]

ОТ spisok_tablits

[WHERE usloviya_poiska]

[GROUP BY gruppirovka_po_spisku]

[КАТО usloviya_poiska]

[ORDER BY pole_dlya_sortirovki [Възходящо Низходящо]]

На следващо място, ние се опишат в подробности всеки строеж, и шоу с пример, как да се определят структурата, получават някои данни от SQL база данни сървър. Повече информация - в SQL Server Books Online.

дизайн SELECT

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



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

DISTINCT дума потиска резултата набор от дублиращи се редове. Например, в лицата на таблицата в нашата база данни може да съдържа дублиращи се стойности в колона BitrhPlace. Следният код ви позволява да получите списък на ценности родното място без дубликати:

SELECT DISTINCT родното място, име, фамилия

от лица,

ORDER BY родното място

GO

Ключова дума TOP н уточнява първите N реда от резултатния набор, които трябва да бъдат върнати. Ако опцията Подредени по, селекция ред се извършва след поръчването на резултатния набор. Стойността на п показва броя на редовете върнат (освен ако не е посочено дума процента). Ако определите процента ключовата дума, тогава п - е процентът на реда, върнати от общия брой на редове в резултатния набор.

Например, в следния пример, за SELECT изявление връща първите 5 подредени по азбучен ред градове на маса хора.

SELECT DISTINCT ТОП 5 Място на раждане, име, фамилия

от лица,

ORDER BY родното място

GO

Можете да направите SELECT изявление по-разбираеми чрез определяне на псевдоним маса (известен също като или свързана с името на променлива-интервала). Alias Можете да зададете една маса с помощта на ключовата дума AS, и без него:

table_name AS psevdonim_tablitsy

table_name psevdonim_tablitsy

В следващия пример, хора на масата, възложени псевдоним р:

ИЗПОЛЗВАНЕ хора

SELECT p.PersonId, p.Name

FFOM лица като р

Ако масата е назначена псевдоним, а след това всички изрични препратки към таблицата в Transact-SQL отчети на трябва да използват псевдоним, а не името на таблицата.

Списъкът за селекция е разрешено да определят различни видове информация, като прости изрази или скаларни подзаявки. Следното илюстрира сценария няколко елемента, които могат да бъдат включени в списъка за избор:

SELECT FirstName + '' + LastName AS "Лице Name",

IDENTITYCOL AS "Лице ID",

HomePhone,

място на раждане

ОТ dbo.Persons

ORDER BY LastName, FirstName ASC

Това изявление поставя в една колона имената на хора, разделени от интервал. Име на колоната, в която да съхранява имената на хората, - Лице име. Комплектът резултат ще включва и идентификатора на колона, която ще бъде наречена Лице ID; както и колони и HomePhone родно място. Комплектът за резултат се нареди по фамилия, а след това по име.

дизайн INTO

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

В следната ситуация, в SELECT изявление извлича стойностите на колони Име и фамилия Лица маса:

SELECT име, фамилия

В PersonNames

от страна на служителите

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

Комплектът резултат няма да бъде показван в SQL Server Management Studio в раздела резултати, ако не изпълняват изрично искане към новата таблица.

ОТ клауза

ОТ клауза трябва да се постави във всяка от SELECT декларация, която извлича данни от таблици или възгледи. Този дизайн позволява да посочите списък на таблици и изгледи в колоните, които се отнасят до списъка за избор и клаузата WHERE. Тези таблици и изгледи могат да бъдат причислени псевдоними към структурата AS. Строителство ОТ, в допълнение, позволява масата за връзка чрез създаване връзки по отношение на JOIN структура.

ОТ клауза е даден списък с имената на таблици, изгледи и структури на присъединяване, разделени със запетаи. В следващия пример, изявлението изберете от дизайн поставя на масата лица:

SELECT * FROM Лица

GO

ОТ клауза също се използва за определяне на връзките между двете таблици или възгледи. За връзки по-подробно в следващия раздел.

Строителство КЪДЕ, GROUP BY и КАТО

В SELECT изявление WHERE клауза и като установи, трапезни редове код, които са необходими за изграждане на снимачната площадка резултат. Строителни WHERE и имащи филтри играят роля. Те определят набор от термини за търсене: да се изгради резултатния набор се избират само тези редове, отговарящи на критериите за търсене. Например, изявлението изберете къде строителство връща само тези редове, когато лицето, като място на раждане, изброени град Красноярск:

SELECT PersonId, LastName, FirstName

от лица,

КЪДЕ родното място = "Красноярск"

GO

Дизайнът на КАТО, обикновено (но не задължително) се използва заедно с групата BY клауза. Строителство КАТО определя допълнителни филтри, които се прилагат, след филтрацията определено WHERE клауза. Следните сценарии са използвани в SELECT изявление WHERE клауза, GROUP BY и КАТО:

SELECT OrdD1OrderId AS OrderID,

SUM (OrdD1.Quantity) AS "Продадена Units",

SUM (OrdD1.UnitPrice * OrdD1.Quantity) като приход

ОТ [подробности за поръчката] AS OrdD1

КЪДЕ OrdD1OrderId IN (SELECT DISTINCT OrdD2.OrderId

ОТ [подробности за поръчката] AS OrdD2

КЪДЕ OrdD2.UnitPrice> $ 1000)

ГРУПА ОТ OrdD1.OrderId

КАТО SUM (OrdD1.Quantity)> 50

GO

Тук, клаузата WHERE връща поръчки, които струват повече от $ 1000, а след това клаузата за КАТО ограничава резултата избора поръчки за повече от 50 единици, продадени. Групата чрез клауза ограничава редовете за всяка стойност на поле OrderID.

GROUP BY клауза

Групата чрез клауза се използва за получаване на обобщени стойности във всеки ред на комплекта резултат. При използване на SELECT изявление, без GROUP BY клауза съвкупните функции връщат само една обща стойност.

След ГРУПАТА на ключови думи, като последвано от списък на колони, които се наричат обединението. Групата чрез клауза ограничава набора от резултати редове. За всяка колона особена стойност групиране или колони може да бъде само един ред. Във всеки ред на резултатния набор съдържа обобщени данни, свързани със стойността на някои от неговите групиране колони.

Ако SELECT изявление има за групата от клауза, SQL Server налага ограничения върху избора на елементите на списъка. Списъкът за избор може да бъде само тези, които обхващат колони и изрази, които се връщат само една стойност за всяка стойност на обединението колоните, като обобщаващи функции (векторни агрегати), един от параметрите, който е на името на колоната.

Като правило, КАТО дизайн се използва с GROUP BY клауза, въпреки че е разрешено да се прилагат поотделно. Всеки израз могат да бъдат групирани заедно, ако тя не съдържа обобщени функции.

В ГРУПАТА клауза е необходимо да се посочи името на колоната в таблицата или видите вместо името колона на резултатен набор възложени чрез AS структура.

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

Разбирането на правилната последователност, която използва клаузата WHERE, за групата от клауза и имащи, помага да се създаде достатъчно ефективни заявки:

WHERE филтър дизайн линии, които са резултат от операциите, посочени в ОТ клауза;

• изход е клаузата, където са групирани с помощта на групата чрез клауза;

• линии групирани резултати са филтрирани чрез КАТО клауза.

Всички условия за търсене, които са разрешени за употреба преди и след операцията групи в, където да се подчертае, структурата. По този начин можете да намалите броя на редовете, за да бъдат групирани. В КАТО клауза следва да определи само термините за търсене, които трябва да се използват след групата на работа.

ORDER BY клауза

Строителство ORDER BY сорта резултатите от заявката в една или повече области. Сортирането може да бъде или възходящ (ASC), и низходящ (DESC). Ако не е посочено, никой от видовете от рода, по подразбиране е ASC. Ако ORDER BY клауза, за да назовем само няколко колони, извършена вложено сортиране.

Лица оператор сортира на следващия ред на таблицата, първо по име (в низходящ ред), след това се нарича (във възходящ ред, за всеки човек), и най-накрая по възраст (също възходящ, защото не е даден параметър DESC).

SELECT PersonId, LastName, FirstName, Възраст

от лица,

ORDER BY LastName DESC, FirstName, Възраст

GO

Пакетите, съхранени процедури и тригери

Пакет - група от един или повече оператори Transact-SQL, приложение, което едновременно изпраща до SQL Server за изпълнение. SQL Server компилира операторите пакети в един изпълним единица (план за изпълнение - Execution Plan). След това, операторите на плана са извършени на свой ред.

Грешка при съставянето, като синтаксис, спира процеса на съставяне на плана за изпълнение. В този случай, нито един от операторите не е пълен пакет.

В грешки на хода на времето като аритметично препълване или нарушение ограничение, може би един от следните последици:

• По-голямата част от грешки по време на работа спира изпълнението на текущите и бъдещите оператори на пакета;

• Някои грешки на хода на времето, като нарушават ограниченията, спират изпълнението на текущия оператор. В същото време ще бъдат изпълнени всички други оператори на пакета.

Операторите, изпълнени на оператора, която е предизвикала грешка по време на изпълнение, не се чувстват въздействието на тази грешка. Единственото изключение е, ако пакетът е сделка, когато възникне грешка, сделката се навива обратно. В този случай премахването на всички поети модификации направени преди грешката на хода на времето.

Например, един пакет се състои от три превозвачи. Ако второто твърдение е синтактична грешка, нито един от операторите няма да се движат на пакета. Ако пакетът е вече компилиран и изпълнението на втория оператор не успее, в резултат на първото твърдение остава непроменена (тъй като тя вече е била получена).

При работа с пакети, следните правила:

• Операторите сътворяват DEFAULT, CREATE ПРОЦЕДУРА, Създаване на правило , създаване TRIGGER , и да се създаде VIEW не могат да съществуват заедно в опаковки с други оператори. Пакетът трябва да започне с отчета за CREATE. Всички от следните твърдения за тях трябва да се тълкува като част от определението, създаден от първо да създадете отчет;

• в рамките на една и съща опаковка не може да променя масата и достъпа до нови колони;

• ако Изпълнение изявление - първото изявление пакет ключова дума ИЗПЪЛНЯВАТ се изисква. Но това е необходимо, когато отчета за ИЗПЪЛНЯВАТ не е първият оператор пакет.

По този начин, на опаковката - набор от една или повече оператори, които клиентът изпраща една и съща група. Оказва се, план едно изпълнение при съставянето на всяка опаковка. Ако пакетът се състои от няколко SQL изявления, след това всички оптимизирани стъпки, необходими за изпълнението на всеки оператор, образувани единен план за изпълнение.

С цел да се определи пакета, има няколко начина.

• Всички SQL изявления, че заявление изпраща към сървъра като единица на изпълнение, образуват един пакет и генерират единен план за изпълнение.

• Всички оператори на съхранената процедура или спусъка представляват един пакет. При съставяне на всяка съхранена процедура или спусъка отнема един-единствен план за изпълнение.

• А низ обработват Изпълнение отчет, се тълкува като пакет, в резултат на компилацията, която превръща един план за изпълнение.

• А низ изпълним система съхранена процедура sp_executesql, - пакет, който компилира получаване на единен план за изпълнение.

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

Ако операторът на пакет причинява спусъка, а след това на плана за изпълнение на спусъка е отделно от плана за изпълнение на оригиналната опаковка.

Например, един пакет, който съдържа следните четири оператори, генерира пет планове за изпълнение на:

ИЗПЪЛНЯВАТ изявление, извършване на съхранената процедура;

• наричаме процедура sp_executesql за технологична линия;

ИЗПЪЛНЯВАТ изявление, линията за преработка;

изявление UPDATE че референцията е таблица, която има спусък за актуализация.

EXEC FirstProcedure

EXEC sp_executesql N'SELECT * FROM AdventureWorks.HumanResources.Employee

КЪДЕ Мениджъра = @level ",

N '@ ниво TINYINT ",

@level = 109;

EXEC ( "sp_who")

UPDATE лица

SET PERSONNAME = "Куку"

GO

Съхранената процедура - е група от Transact-SQL изрази, които се компилира веднъж и след това може да се извършва многократно. Тази функционалност увеличава производителността чрез елиминиране на необходимостта да прекомпилирате оператори Transact-SQL.

Trigger - е специален вид на съхранена процедура, която не предизвиква директно на потребителя. Когато създавате определени начални условия за неговото изпълнение: спусъка е да бъде изпълнена в определен модификация на данни в дадена таблица или колона.

Оператори CREATE ПРОЦЕДУРА и да се създаде TRIGGER не може да се намира в множество пакети. С други думи, на съхранената процедура или спусъка винаги се създава в една опаковка и компилиран в план за изпълнение.

SQL магазини сървър само на изходния код на съхранени процедури и тригери. Когато съхранената процедура или спусъка се изпълнява за първи път, на изходния код се компилира в план за изпълнение. Ако преди плана за изпълнение ще изтече и да се заличи от паметта, съхранена процедура или спусъка се изпълнява отново, релационния двигателя открива съществуващия план и да го използвате отново. Ако планът е остаряла и е била изтрита от паметта, създава нов план за изпълнение. Този процес е подобен на обработката на всички SQL изявления SQL Server. Повишаване на производителността при използване на съхранени процедури и тригери се дължи на постоянството на SQL-оператори, което позволява на SQL Server да се използват съществуващите планове за изпълнение за тях.

В предишните версии на подобрение на производителността на SQL Server при използване на съхранени процедури е особено забележим. По-ранните версии на SQL Server не се опитват да използват повторно планове за изпълнение за пакети, които не са били съхранени процедури или тригери. Единственият начин да се използва повторно планове за изпълнение е до програмиране на SQL изявления като съхранени процедури.

изпълнение План на съхранени процедури и тригери се изпълнява отделно от плана за изпълнение на пакетите, наричайки запомнена процедура или спусък. Тази функция позволява по-често използват повторно планове за изпълнение на съхранени процедури и тригери.





; Дата: 01.11.2014; ; Прегледи: 209; Нарушаването на авторските права? ;


Ние ценим Вашето мнение! Беше ли полезна публикуван материал? Да | не



ТЪРСЕНЕ:


Вижте също:



zdes-stroika.ru - Studopediya (2013 - 2017) на година. Тя не е автор на материали, и дава на студентите с безплатно образование и използва! Най-новото допълнение , Al IP: 66.102.9.22
Page генерирана за: 0.062 сек.