Dell Laser MFP00n 081209201503 3

Dell Laser MFP00n 081209201503 3



(strukturalny język zapytań)


tYPY DANYCH ccł.


Typy znakowe


char reprezentuje riM znaków o określonej,

_____ni* wijkszej nłi 11 000 znaków, dlugołci

m (wir (MS \Ql lereer) reprezentuj* <iąf linków o okrtłlontj, im wigkszej niż 4 000 maków, dlugoki zapisanej w postaci Unicode


yarchar reprezentuj* ciąg maków o zmiennej,

-*    ni* witkiitj nu 1000 maków, dlafoici.

nvarchar (MS JQl ienrer) reprezentuje (ioi maków o zmi*iin*|, nie wigkszej nii 4 000 maków, długoki zapisano! w postaci Unkoói. t#stt irpirmnup nu maków « określonej,

gig wijkuai aatti11 • I (2 147 413 *47), długości nteat (MS SOI Strvtr) reprezentuj* cią( maków • zmiennej, ni* wigkszej ma 2'® * I (I 073 741 123), długości upiiam) w postaci Miaac>d>._


Typy binarne


Typy binarny tg bardio podobne do typów makowych, i tg różnicą, tr dam zapisane tg jako potici(|ólm bity b 1 nary (MS SQl Sanrrr) i bit (fostgrcSQl^ reprezentują cig* bitów o okreilonej. ni* wifkiit) nit a 000 bitów, dlugoici yarblnary (MSSOtSamr) i yarbtt (roitgrtlQi)


reprezentują cige bilów * zmiennej, ni* wifkirej im 1000 bitów, óługoici


Image (MS SQl Sonrer) i bytea (Postgr*iQl)

repreimtują dań* bi nożne, na przykład riafikj _twMpiogd 0 do 7" -1 (71474|]447)


Identyfikatory


uniqueidant<f1«r (MS SQL Strm) zeprezentuje globalny identyfikolor (GUI0), który pelt 14 bajtową Iktbg


Typy logiczne


(PoiłgrśQl) reprezentuje prawd) lab fałti.


Wartości nieznane lub nieokreślone


Kardy system rangdrania barami danych obsługuje specjalną wartok NUl U która repreientupe dam braku|gce lub o nieokreślonej wartoin Wartoit NULI jut warloicig tpecjalng, rórng od wi/yttkich innych wartości, w tym od U i pustego ciągu maków Wskazówki

I Wszelki* operacje i wartoUig NULL (np łączeni* ciągu tnaków lub mnożeni* liub) powinny zwracać NULL.

7 jedynym dopuwtralnytn operatorem porównania i tg warioltig poat operator IS |NOT] NULL-chociaż nit wiemy, |akg wartoit reprtrentu|e NUl L, to motamy iprewdik, ery dana wartoit jen nieokreślona


Typy użytkowników


Tworzsni*


Podilawg (wabłonem) wtryitkKb typów danych użytkownika |eit pteóehmowany typ danych lakrritm itasowania typu danych użytkownika |*it okrtilona baca danych MS SOL Serwer

Moremy uiworryt własny typ danych, wywołuje procedury systemową sp addtype Składnia:

spaddtype [Ptypersame -] typ,

Pphystype *] typ predefiniowany , [Pnuntype -] TNULL']

, [Powner •] 'wfaSciciel'] PostgreSOL

Do twociema nowych typów ciury imtnikcia CREATE TYPE Składnia:

CREATE TYPE typ AS ( narwa atrybutu typ danych (, ,,,n ) )

Usuwanie


MS SQL Serwer

Wywołanie procedury cp droptypr spowoduje usumgcie wybranego typu danych urylkownika Składnia:

sp_droptype [Ptypename -] 'typ'

PostgreSOL

Składnia:

DROP TYPE typ [, ...n]

( CASCADE | RESTRICT |

|dri*.

myci* opcji C.ASADE powoduje automatyem* usunigtie wwyitkich talttnych od danego typu obiektów, utycie opcji RFS1RICT powoduje igłowani* błydu, jeżeli ictmeją jakiekolwiek raltrm od domgo typu obiekty (opcja domyślna)


iC DANYCH


Inlocmacji przechowywane w barach danych mogą loitat pobram ta pomocą initrukcji (gryka SOI SELECT Initniktja SELECT (lapytame) okleiła, Jakie dane mają ioiLat rwrócone w Wyniku jej wykonania, a nie w jaki tpoaób serwer bar danych ma wykonaó tą instrukcją SQl pil jgzykiem strukturalnym, a ni* proceduralnym


Instrukcja SELECT


Instrukcja SELECT itu/y do pobierania danych t hory, Instrukcja musi zawierać (z wyjątkiem polecenia SFl ECT, odwoluigtego tą wyiącinie do stałych, imiennych lub wyraieó arytmetycznych) co najmniej jedną klauzulą: ta pomocą polecenia SELECT określamy interesujące nas


kolumny (dokonujemy operacji selekcji pionowej, jri ojekcJI), ia pomocą klauruli I RUM wskaru|emy tabelą, z której pobieramy dane 7 reguły ogtanicta tią równin, ta pomocą klauzuli WHERE, babą (wracanych wiemy do rekordów spełniających okrtiłone kryteria (operacji selekcji poiiomej, selekcji)

Składnia

SELECT [ALL | OISTINCT]

(TOP n (PERCENT] [WIIH TIES]]

< 1tsta_wyboru »

« listo wyboru > z:*

I *ł

I(na7wa_tabeli nazwa widoku | alias).*

(nazwa kolumny | wyrażenie) [(AS] ałlasjioliimny]

I alias kolumny** wyrażenie )    | (LIMIT | n | ALL )) [OFFSET n]

gdtie:

ALE (wartość' domyłlna) otnacia, te (wrócone zostaną wwystkie wybrane wiersze,

OISTINCT omacza, ie i wyniku (ostaną usuniąte duplikaty wybranych wierszy,

TOP (MS SQl Serwer) oznacza, że zwrócona zostanie tylko określona liczba wiemy,

PERCENT pozwala na wzglądne określenie liczby zwracanych wierszy jeżeli użyto znacznika Pt Rf FNT, waitoic n muli należeć óo zakresu <0,100 >,

Wl TH TIES oznacza, ze zostaną rwrócone wszystkie wiersze, których wartość kolumny wymiemonej w klauzuli ORDER BY lądzie równa najmniejszej wartoici wiersza wyniku. Np peieli wybieramy S towarów o najwyższej marzy, a w tabeli znajduje sią 7 towarów o tej tamt|, najwyiszej marży, zapytanie zwróci 7, a nie S wierszy,

LIMIT (PostgreSQl) jeil odpowiednikiem klauzuli IDP, OEESl I (PostgreSOL) określa, ile wierszy zostanie pommątyrh. zanim zwrócony zoitame pierwszy wiersz wyniku. Przykłady

SELECT OrderDate, Fretght/2 AS wyrażenie EROM Orders

SELECT TOP 3 'autor: ' AS literał,

au fname ♦ ' '♦ «u lname AS konkatencja fROM authors

Wskazówki

I Wartości są zwracane w kolejności okiellone| w poleceniu SELECT )ezeli użyto tymbołu wieloznacznego (*), dane bądą zwrócone w kolejności odpowioóa|ące| kolejności kolumn w tabeli 2. Nazwy kolumn należy oddzielał przecinkami.

3. 2e wzglądu ni wydajno ił należy unikał stosowania symbolu * w zapytaniach

4 Słowa kluczowy TOP i LIMIT są używane razem z klauzulą ORDTR BY, ponieważ w przeciwnym wypadku serwer zwróci pierwszych n wierszy z przypadkowo uporządkowanego wyniku.


Klauzula FROM


Określa, z których obiektów bądą pobierane dane źródłowe Składnia:

[FROM |< tobola >)

« tabela » ts*

nazwa tabeli [[AS] al1as_tabeli] [WITM (» optymalizacja >”[,... rsj)]


gdzie:


nazwa widoku [[AS] altoswtdoku] funkcja rowset [[AS] alias funkcji] OPFNXMt

wynikpodzapytania [AS] alias tabeli (allas kolumny [,.,,n]))


optyma 11 aacja (MS SQL Serwer) wymuiza użycie przez optymalizator konkretnej metody skanowania tabeli, indeksu czy trybu blokowania,

0PłNXML (MS SQL Serwer) spowoduje zapuanit wyniku

w lormacie xML

Przykład

SEIECT f.oteqoryID, CategoryName fROM Categorles


Klauzula WHERE


Okrełla, które wiersze zostaną zwrócone przez rapytamt Składnia:

[WHERE < warunek_wysiuk1wan1o » | < z1ączen1e_starego typu »]

« złączenie starogojlypu » z:»

nazwa kolumny (*”• j • *) nazwakolumny

<    warunek wyszukiwania > tz*

(    [NOT] « predykat    »    |

(< warunek wyszukiwania >))

[(ANO 1 OR| (NOT] (< predykat

>    I (< warunek wyszukiwania >))]

I    [ rs]

<    predykat * i i*

(    wyrażenie    («    |    <    »    |    I    • | >

|    » . | I , |    «    |    <    .    |    I    <)

wyrażenie

| wyrałcn1e_znakowo (NOT]

IIKE wyrażenie znakowe (ESCAPE 'wzorzec']

| wyrażenie [NOT] BETWEEN wyrażenie AND wyrażenie wyrażenie IS [NOT] NULE wyrażenie [NOT] IN pndzapytanle | wyrażenie

| wyrażenie (* | * > | 1 • I

>    [ w . | j > ( < I « . ( | <)

(AlL | SONĘ | ANY) (podzapytanie)

| EXISTS (podzapytanie)

I

gdzie:

z1ączenle_starego_typu jest niestandardowym

okrtilemem warunków ztgćzenia tabel

Symbol * - odpowiada złączeniu lewoilronnemu,

symbol - * prawostronnemu,

predykat jest wyrażeniem o wartoła 1 (prawda),

0 (fałsz) lub NULL,

ESCAPt 'wzorzec' (MS SQl Serwer) okreila znak eliminujący

z wyniku wiersze, które go zawierają

Przykład:

SELECT lastname, firstname, tftle TROM employees WHERE employeeld * 1

Wybierani* danych na podstawi* warunków różnego rodzaju

(gryk SQl nie nakłada żadnych ogranitzeó na łiczbg argumentów wyszukiwania wymienionych w klauzuli WHERE. W zołeżaaici od rodzaju kryteriów i typu wytzukrwanych danych, możemy skorzystać i:

I. Operatorów porównania - jeżeli chcemy iprawd/W, czy wirtołł zapisana w tabeli odpowiada wartoici warunku wyszukiwania. Na ptzyklad aby wybrał nazwiska i nazw


wystukiwania Na ptzyklad aby wybrał nazwiska i nazwy miast pracowników ze Stanów [jednoctonych urodzonych przed 1 sierpnia IfSS roku, napiszemy:

ELECT lastname, city fROM employees

WHERE country • 'USA' ANO BlrthOate

----a'B/1/óó; ^

2. Operatora 11NE ■ jeżeli chcemy sprawdził zgodnoił tekstu i podanym wiortem Operator LIFE może został użyty dla danych tekstowych, binarnych oraz daty i czas* Operator LIKE óapusziza stosowanie nastgpujących symboli wiełaznoanycb:


ŁĄCZENIE ZBIORÓW DANYCH


W klauzuli F ROM możemy odwołał lig óo dowolnej liczby obiektów tabel, widoków, lunkcji typu RowSet czy


wyników podzapytaż) I reguły łączy tie obiekty na podstawie wartoici wspólnego atrybutu, na prtyklaó wartoici pity klucz jiodiiiwowy klucz obcy W takim pnypadku muiimy użył jednoznacznego identyfikatora obiektu (kolumny) Ponieważ nazwy kolumn zawi*n|ących klucz podstawowy i obcy isajcząioei są takie same, musimy poprzedzał nazwy kolumn nazwami ubel. Jeżeli dodatkowo stosujemy konwencją, w myśl której poprzedzamy nazwy obiektów nazwą Kh wUiciciela, zapytanie wybierające dane i kilku obiektów staje ug mało czytelne Kozwiązamem tego problemu tą iliaiy Składnia

[TROM (« złączono tabela >| [,,,,n]]

« złąr/onatnbela » it«

< tabela > < typ złączenia >

« tabela >

ON < warunek > | USING (kolumna, ,..n)


I < tabela > CROSS JOtN « tabela >

| « zfączona_tabela >

« typ złączenia » s!•

(INNfR I ((LEfT I RIGHT | FULL)

[OUTER])]

optymaltzacjazłączenla >]

JO IN gdzie:

CROSS JOIN okreila, że wynik bgd/» obliczony jako iloczyn kartezjański złączonych tabel,

Minimalną liczbą Warunków utytych do łączenia tabel można wyliczył ze wzoru: minimalna liczba warunków » liczba złączonych tabel - I

INNER JOIN okreila, ze wynik bgdzie obliczony jako złączenie naturalni* złączanych tabel Wynikiem złączenia naturalnego są tylko te wiersze, w których w powiązanych


a V odpowiada dowolnemu ciągowi maków o dlugoici równej 0 lub większej,

b odpowiada dowolnemu pojedynczemu znakowi, c. I] ■ odpowiada pojedynczemu znakowi i określonego rbioru lub zakresu,

d [A] odpowiada pojedynczemu znakowi menależącrmu do okreilonrgo zbioru lub zakresu Na przykład aby wyłwietlił nerwy (irm zawierające w nazwie słowo Rnstaurant, których nazwiska przedstawicieli zaczynają lig na literą M, napiszemy SELECT companynomr TROM customers

WHFRE componyname LIFE 'SRestourontS'

ANO ContactNnmr UFF 'MS'

3 Operatorów logicznych - jeżeli chcemy połączył kilka warunków wyszukiwania. Na przykład aby wyiwietlic informacje o tych towarach, któnrrh nazwy me zec/yneją lig na literg T lub R lub zostały dostarczone przet dostawcą o identyfikator ie równym ?\ i jednoczeime kantowały mniej mz 15 i. napiszemy SELECT productnwne, luppllertd, unitprlcn TROM proriucts

WHERE (produetname NOT UKF 'T%' AND produetname NOT LIFE 'Rh')

OR (suppltertd • 21 ANO unltprlce « 15.00)

4.    Operatora BETWEEN AND leżeli chcemy sprawdził, uy wartoił zapisana w tabeli należy (lub nie) do okrtilonego przedziału zamknigtego Na przykład aby wyświetlił nazwy lowo/ów, których cena me nilery do pneóziaiu < S, SS >, napiszemy

SELECT produetname FROM products

WHERE unltprfce NOT BETWEEN 5 ANT) 55

5.    Operatora IN jczełi chcemy sprawdził, czy wartoił zapisana w tabeli należy de określonego zbioru Na przykład

5 wyświetlił nazwy firm r* Iranów lub Włoch, nipnrtmy T companynnmr, country FROM supplłars

WHERE country IN ('USA', 'IŁa1y') ó Operatora IS NULL - jeżeli chcemy sprawdził, czy wartoił zapisana w tabeli lest wartoicią nieokreśloną.

Na przykład aby wyświetlił nazwy i numery tełelonów tych firm, dla których me znamy numeru faksu, napinrmy SEIECT companyname, phon*

FROM suppliers WHERE fan IS NULL


Klauzula ORDER BY


Wynik rapytama mozr został ilotmatowany zgodnie


z wymaganiami użytkownika: • h pomoc


pomocą słowa kluczowego DIS U NCI możemy wyeliminował duplikaty

•    2a pomocą aliaiów możemy zmienił nazwy kolumn

•    2a pomocą literałów rnozrmy dodał do wyniku dowolnt wyrażenia.

•    Za pomocą klauzuli ORDER BY możemy posonował wiersze wyniku

Składnia:

(ORDER BY (wyrażeni* [ASC | OfSC]| [,..,n]| gdzie

wyrażeni et okreila kolumną, według którt| bądą sortowane dane,

ASC (wartoił domyłlna) okreila, ze dane bądą sortowinr w porządku rosnącym (od warloki najmniejszej do najwigkszej),

OC SC określa, zr dane bądą sortowane w porządku malejącym.

.Przykład:

SEIECT OrderlD, CustomerlO,

TmployeelU, OrderDate fROM Orders


te DESC


S&TWWW*......

zapylania pnez posortowanie wierszy, eliminacjr duplikatów


•rat wykorzystanie aliaiów i literałów

SELECT OISTINCT 'Nazwa kraju: —CBOTTryTrs FraJ' fROM supplleri ORDER BY country


kolumnach zapisane były le same wartoici,

LEfT OUTER JOIN okreila, z* wynik bgdzie zawierał wszystkie wiersz* z lewej tabeli i wyłącznie te wiersze z prawej tabeli, w których « powiązanych kolumnach zapisane były te same wartoici,

RIGHT OUTER JOIN okreila, ze wynik bgdnr rawieral wszystkie witrizr r prawej tabeli i wyłącznie te wiersze z lewej tabeli, w których w powiązanych kolumnach zapisane kyły le same wartoici Złączenie prawostronne jest rzadko stosowani przez osoby przyzwyczajone do czytania od strony lewi| do prawej,

fULL OUTER JOIN okreila, z* wynik bgdzie zawierał wszystkie wiersze z obu złączonych tabel optymalizacjo złączania (Mi JQl iereer) wymusza użycie pnez optymalizator konkretnej metody złączenia tabel (złączenie przez odłączenie, złączenie na podstawie zgodnotci funkcji skrótu lub złączenie przez pgtłg wyszukania)



Wyszukiwarka

Podobne podstrony:
Dell Laser MFP00n 081209201503 4 (strukturalny język zapytań) ŁĄCZENIE ZBIOROW DANYCH cd, USING (fo
Dell Laser MFP00n 081209201503 1 UPRAWNIENIA <»zdy serwer bu danych umoilłwi^wtyfikatif uzylkowm
Dell Laser MFP00n 081209201503 5 upiętych e minią ROIIP HY, U, LECISOL (sfrekturainy język zapytań)
Dell Laser MFP00n 081209201503 2 7 Marcin Szeliga HelionPV2TABLICE INFORMATYCZNE STANDARD ANSI ORAZ
SQL: Strukturalny Język Zapytań (ang. Slructured Ouery Language) •    Definiowanie
SQL - Structured Query Language SQL - Structured Query Language (Strukturalny Język Zapytań) -specja
WSiP4 64 BAZY DANYCH I SYSTEMY BAZ DANYCH 13 Strukturalny język zapytań SQL ZAGADNIENIA ■
SQL (ang Structured Query Language) - strukturalny język zapytań używany do tworzenia, modyfikowania
79595 skanuj0265 (3) Rozdział 10.Podstawy SQLCzym jest SQL? SQL, czyli Structured Query Language, to
Programowanie strukturalne język C - wprowadzenie Dr inż. Sławomir Samolej D102 C, tel: 865 1766,&nb
teleroute Wsparcie t. *448000869221 8:00 - 17:00 Zaloguj sie język angielski v Giełda
44501 ullman253 (2) 512 8 ZORIENTOWANE OBIEKTOWO JĘZYK! ZAPYTAŃ Pozostałe funkcje można definiować a
WSiP6 66 BAZY DANYCH I SYSTEMY BAZ DANYCH W strukturalnym jeżyku zapytań taka selekcja będzie miała
SERWERY BAZ DANYCH I ZAWANSOWANY JĘZYK ZAPYTAŃ SQL Osoba prowadząca zajęcia: dr Ryszard Kurzyjamski,

więcej podobnych podstron