Sql
Expresii, conditii si operatori SQLExpresii, conditii si operatori SQLExpresia returneaza o valoare si ea poate trata diferite tipuri. Operatorii pot fi de urmatoarele tipuri: aritmetici; de comparatie; caracter; logici; pentru multimi. Operatorii aritmetici sunt +, - , * (inmultire), / (impartire), % (restul impartirii) Operatori de comparatie sunt: =, >, >=, <, <=,<> sau != si por returna una din valorile: TRUE, FALSE, UNKNOWN. In termenii bazelor de date, NULL semnifica absenta datelor dintr-un camp. Operatori caracter sunt: LIKE – selecteaza parti ale unei B.D: care fac potrivirea unui model, dar foarte exact. Acest operator diferentiaza literele mari de cele mici. Simbolul % folosit intr-o expresie LIKE are rol de caracter de inlocuire.
INSERT INTO SECTIE VALUES ( S2’, Productie’, 500); Toate cuvintele scrise ingrosat (bold) in comenzile de mai sus sunt cuvinte cheie. Identificatorii sunt elemente componente care denumesc tabele, coloane sau alte obiecte ale bazei de date. In exemplul de mai sus, SECTIE, IdSectie sunt identificatori. In SQL cuvintele cheie si identificatorii trebuie sa inceapa cu o litera sau caracterul “_” (subliniere – underscore), iar caracterele urmatoare pot fi litere, cifre sau caracterul subliniere. Cuvintele cheie si identificatorii au aceeasi structura lexicala si nu pot fi diferentiati fara a cunoaste limbajul In cuvintele cheie si identificatori nu se diferentiaza caracterele mici de cele mari (sunt case-insensitive), deci comenzile INSERT, insert, sau Insert, etc. sunt identice. Pentru evidentierea tipurilor si a comenzilor SQL acestea vor fi scrise in continuare, totusi, cu majuscule. Pe langa acest fel de identificatori (formati dintr-o secventa de litere, cifre si caracterul subliniere), mai exista si un alt tip de identificatori, identificatorii delimitati (quoted identifiers), constand dintr-o secventa de caractere incadrata (la inceput si la sfarsit) de caracterul dublu apostrof (“). Un identificator delimitat este intotdeauna identificator (niciodata cuvant cheie), iar literele mari sunt diferite de literele mici (este case-sensitive). De exemplu, elementul “SELECT” este un identificator delimitat si poate denumi un tabel sau o coloana (atribut), in timp ce elementul SELECT este un cuvant cheie si utilizarea lui ca nume de tabel sau de atribut va produce o eroare de interpretare a comenzii. Un identificator delimitat poate contine orice caracter cu exceptia caracterulul dublu apostrof, permitand crearea unor nume (de tabele, coloane, etc.) mai complexe, care sa contina spatii sau caractere speciale ( &, %, etc.), ceea ce cu identificatori obisnuiti (ne-delimitati) nu este posibil. Constante. Constantele (literale) pot fi siruri de caractere, numere intregi sau numere reale. Ele se reprezinta aproximativ la fel ca in alte limbaje de programare (de exemplu C/C++). O constanta sir de caractere consta dintr-o secventa de caractere delimitata (la inceput si la sfarsit) cu cate un caracter apostrof simplu: ‘Acesta este un sir’. Caracterul apostrof simplu dintr-o constanta sir se poate reprezinta prin dublare sau precedat de caracterul backslash. O constanta de tip intreg consta dintr-o secventa de cifre zecimale (de la 0 la 9) si semn (care poate sa lipseasca daca numarul este pozitiv); in memorie este stocata pe 4 octeti (32 de biti) si are gama de reprezentare de la -2147483648 la +2147483647. O constanta numar real (cu virgula flotanta) se poate introduce intr-una din urmatoarele forme: cifre.[cifre][e[+-]cifre] [cifre].cifre[e[+-]cifre] cifree[+-]cifre unde cifre reprezinta o secventa de cifre zecimale (de la 0 la 9), e este exponentul, iar partile incadrate intre paranteze drepte sunt optionale. De exemplu: 3.5; 4.; .001; 5e2; 1.925e-3; sunt constante reale. In memorie, constantele reale sunt reprezentate ca numere cu virgula mobila, dubla precizie Caractere speciale. Unele caractere care nu sunt litere sau cifre pot avea rol de operatori SQL sau pot avea o semnificatie speciala in cadrul comenzilor SQL. De exemplu, caracterul punct si virgula (;) este folosit pentru terminarea comenzilor; caracterul punct (.) este folosit ca punct zecimal sau pentru calificarea numelor; caracterul asterix (*) este folosit ca operator de inmultire sau la selectii; etc. Astfel de caractere vor fi prezentate gradat de-a lungul lucrarii, atunci cand sunt descrise comenzile in care intervin. Operatori. Un operator este compus dintr-unul sau mai mai multe caractere speciale (care nu sunt litere sau cifre), ca de exemplu: + - * / % < > = ~ ! @ # & | ^ ? ‘ $, sau este un cuvint cheie (ca de exemplu: AND, OR, NOT, BETWEEN, etc.). Un operator poate fi invocat intr-una din urmatoarele trei forme: expresie operator expresie (pentru operatorii binari) operator expresie (pentru operatorii unari prefix) expresie operator (pentru operatorii unari postfix) O expresie SQL consta dintr-un operand sau dintr-o secventa de operanzi, operatori si paranteze. Un operand poate fi numele unei coloane (a unui tabel), o constanta (literal); parantezele sunt folosite pentru a preciza ordinea operatiilor, daca acesta nu este cea implicita, data de precedenta operatorilor. Operatorii folositi in limbajul SQL pot fi aritmetici (matematici), logici, de comparatie SQL, sau relationali.< Underscore ( _ ) – este un caracter de inlocuire pentru un singur caracter. Concatenarea (||) concateneaza doua siruri. Operatori logici sunt: AND, OR, NOT. Operatori pentru multimi sunt: UNION – returneaza rezultatele a doua interogari, mai putin liniile duplicate, scriindu-le o singura data. UNION ALL – actioneaza ca UNION, fara sa elimine duplicatele. INTERSECT (intersectie) returneaza numai linii gasite de ambele interogari. MINUS (diferenta) returneaza liniile care fac parte din prima interogare si care nu fac parte din a doua interogare. IN (in) si BETWEEN (intre) – permit selectarea doar a unor linii in functie de valorile pe care le va lua un anumit camp, specificate cu ajutorul acestor operatori.
|