Documente Academic
Documente Profesional
Documente Cultură
Valori -2^63 (-9,223,372,036,854,775,808) -> 2^63-1 (9,223,372,036,854,775,807) 1/0/NULL Precizie (p) iniial=18 0<=scar<=precizie http://msdn.microsoft.com/en-us/library/ms187746.aspx -2^31 (-2,147,483,648) -> 2^31-1 (2,147,483,647) -922,337,203,685,477.5808 -> 922,337,203,685,477.5807 http://msdn.microsoft.com/en-us/library/ms179882.aspx La fel ca Decimal -2^15 (-32,768) -> 2^15-1 (32,767) - 214,748.3648 -> 214,748.3647 http://msdn.microsoft.com/en-us/library/ms179882.aspx 0 to 255
Int Money Numeric Smallint Smallmoney Tinyint 2) Numeric real Tip Float Real 3) Dat/Or Tip Date
4 octei 8 octei
Valori Spaiu ocupat -1.79E+308 -> -2.23E-308, 0 i 2.23E-308 -> 1.79E+308 n funcie de n - 3.40E + 38 -> -1.18E - 38, 0 i 1.18E - 38 -> 3.40E + 38 4 octei Valori 01/01/0001 -> 31/12/9999 zz/[l]l/[aa]aa z=zi l=lun a=an http://msdn.microsoft.com/en-us/library/bb630352.aspx 1/1/1753 -> 31/12/9999 i 00:00:00 -> 23:59:59.997 AAAA-LL-ZZ hh:mm:ss[.mmm] http://msdn.microsoft.com/en-us/library/ms187819.aspx La fel ca Datetime, doar c este un tip de dat mai mare 1/1/0001 -> 31/12/9999 i 00:00:00 -> 23:59:59.997 http://msdn.microsoft.com/en-us/library/bb677335.aspx Spaiu ocupat
Datetime
8 octei
Datetime2
Vezi link-ul
Algebra boolean se bazeaz pe principiul aristotelic al terului exclus, desemnnd una dintre cele 2 valori de adevr (adevrat/fals) unei propoziii. Jan ukasiewicz a propus renunarea la acest principiu i a pus astfel bazele logicii trivalente prin care unei propoziii i este desemnat una dintre urmtoarele valori de adevr: adevrat, fals sau necunoscut. SQL implementeaz acest principiu prin valorile de tip bit care pot lua una dintre urmtoarele valori: 1/True, 0/False sau NULL. Valoarea NULL reprezint, de fapt, valoarea lips/necunoscut.
1/1/1900 -> 6/6/2079 i i 00:00:00 -> 23:59:59 00:00:00.0000000 -> 23:59:59.9999999 La fel ca Decimal Valori 1<= n <= 8000 Pentru diferenele dintre char i varchar vezi: http://msdn.microsoft.com/en-us/library/ms176089.aspx
5 octei
5) Caractere Unicode Tip Valori nChar (n) nVarchar (n) 6) iruri binare Tip Binary (n) VarBinary 1<= n <= 4000 Pentru diferenele dintre nchar i nvarchar vezi: http://msdn.microsoft.com/en-us/library/ms186939.aspx
Valori 1<= n <= 8000 Pentru diferenele dintre Binary i VarBinary vezi: http://msdn.microsoft.com/en-us/library/ms188362.aspx
7) Alte tipuri Cursor -> http://msdn.microsoft.com/en-us/library/ms190498.aspx Hierarchyid -> http://msdn.microsoft.com/en-us/library/bb677290.aspx Sql_variant -> http://msdn.microsoft.com/en-us/library/ms173829.aspx Table -> http://msdn.microsoft.com/en-us/library/ms175010.aspx Timestamp -> http://msdn.microsoft.com/en-us/library/ms182776.aspx Uniqueidentifier -> http://msdn.microsoft.com/en-us/library/ms187942.aspx Xml -> http://msdn.microsoft.com/en-us/library/ms187339.aspx
Funcii predefinite 1) Agregate a. AVG b. COUNT c. MAX d. MIN e. SUM f. STDEV g. VAR 2) Lucru cu data/ora a. Day(date) b. Month(date) c. Year(date) d. Datepart(datepart,date), mai multe detalii aici: http://msdn.microsoft.com/enus/library/ms174420.aspx e. datename(datepart,date) f. dateadd(datepart,number,date) g. datediff(datepart,number,date) h. Datefromparts(year,month,day) i. Datetimefromparts ( year, month, day, hour, minute, seconds, milliseconds )
Select SELECT [TOP n] [DISTINCT] cmp1,cmp2, FROM tabela1 *Tip de JOIN+ tabela2 ON tabela1.coloanX=tabela2.coloanY *Tip de JOIN+ tabela3 WHERE condiie1 *OPERATOR LOGIC+ condiie2 GROUP BY cmp1,cmp2, ORDER BY cmp1 [ASC/DESC],cmp2[ASC/DESC],... [OFFSET x ROW/ROWS FETCH FIRST/FIRST y ROW/ROWS ONLY] 1) Selectarea tuturor cmpurilor dintr-o tabel SELECT * FROM tabel 2) Selectarea primelor 5 cmpuri dintr-o tabel SELECT TOP 5 * FROM tabel 3) Selectarea cmpurilor din 3 tabele SELECT * FROM tabela1 INNER JOIN tabela2 ON tabela1.coloanaA=tabela2.coloanaB INNER JOIN tabela3 ON tabela2.coloanaC=tabela3.coloanaD Tipuri explicite de JOIN a) INNER JOIN
c) CROSS JOIN -> Realizeaz produsul cartezian al celor dou mulimi de elemente
4) Selectarea cmpurilor dintr-o tabel folosind o condiie SELECT * FROM tabel WHERE condiie Operatori: a) AND b) OR c) NOT d) IN (element1,element2,) e) BETWEEN x AND y f) EXISTS g) LIKE (citete mai multe aici: http://msdn.microsoft.com/en-us/library/ms179859.aspx )
5) Gruparea cmpurilor unei selecii SELECT * FROM tabel GROUP BY cmp1, cmp2, 6) Ordonarea cmpurilor unei selecii SELECT * FROM tabel ORDER BY cmp1, cmp2 ASC,cmp3 DESC Dac nu este precizat o ordine, vor fi grupate ascendent n funcie de acel cmp. 7) Afiarea anumitor rnduri din selecie SELECT * FROM tabel ORDER BY cmp1 *ASC/DESC+, cmp2 *ASC/DESC+, OFFSET 2 ROWS FETCH NEXT 40 ROWS ONLY 8) Afiarea unor nregistrri distincte SELECT DISTINCT * FROM tabel
Pasul 3) Alegem Save to new query window, apoi apsm butonul Advanced
Pasul 4) Alegem ce vrem s conin script-ul (n cazul nostru adugm Schema and data).
!!!IMPORTANT!!! Pentru a folosi script-ul, s-ar putea s fie nevoie de modificarea numelui bazei de date. VECHI NOU
USE [Seminar2] GO CREATE DATABASE [NumarulGrupei_NumeleMeu] GO USE [NumarulGrupei_NumeleMeu] GO
2) Permite efectuarea schimbrilor care presupun re-crearea tabelei Tools -> Options -> Designers -------------> Debifai Prevent saving changes that requre table re-creation -> Apsai OK
3) Numerotarea liniilor, descompunerea unei linii pe mai multe rnduri i marcarea descompunerii cu o pictogram Tools -> Options -> Text Editor -> Transact-SQL ------------> Bifai Word wrap, Show visual glyphs for word wrap i Line numbers
Cerine 1) Selectai toate nregistrrile din tabela Angajai. 2) Selectai toate nregistrrile din tabela Clieni. 3) Listai codul angajatului,numele, filiala, data pontajului i tariful pentru toi angajaii care au realizat pontaje 4) Aranjai rezultatele de la 3) n ordine descresctoare n funcie de tarif 5) Adugai seleciei 4) codul, respectiv numele clientului pentru care a fost realizat pontajul 6) Afiai toi angajaii ale cror nume ncep cu litera C i conin literele anu 7) Listai angajaii din filialele Bucureti i Giurgiu 8) Ordonai rezultatele de la 7) n ordine descresctoare n funcie de salariu 9) Ordonai rezultatele de la 7) n ordine cresctoare n funcie de nume 10) Listai angajaii din filialele Bucureti i Giurgiu n ordine cresctoare n funcie de nume i, apoi, n ordine descresctoare n funcie de salariu 11) Listai clienii externi care nu au domeniul de activitate turismul sau it 12) Listai n ordine alfabetic toi angajaii care au pontaje n luna ianuarie 13) Calculai totalul ncasrilor pe fiecare ar pn la 1 ianuarie 2008 14) Ordonai rezultatul de la 13) descresctor n funcie de totalul ncasrilor 15) Afiai top 3 ri cu cele mai mari ncasri 16) Folosind rezultatele de la 14), afiai rile ncepnd de pe locul 2 pn pe locul 4 17) Afiai tariful minim pe fiecare ar n intervalul 1/1/2007 i 1/20/2007 18) Afiai media i abaterea medie ptratic pe fiecare ar n ntervalul 1/1/2007 i 1/20/2007 19) Afiai toate posibilitile de alocare ale angajailor pentru fiecare client.