secțiunea SELECT
Această secțiune este opțională și vă permite să:
→ Definiți lista de coloane de ieșire
Lista de coloane de ieșire pot fi specificate în mai multe moduri:
• Specificați joker *, indicând includerea rezultatelor cererii de interogare toate coloanele din secvența naturală.
• Lista în modul dorit doar necesar.
Exemplu: SELECT * de la client
→ Activați coloanele calculate
După cum se poate acționa ca coloane calculate de interogarea:
• Rezultatele expresiilor aritmetice simple (+, -, /, * _ sau concatenare string (||).
• Rezultatele funcțiilor COUNT agregate (*) | ([DISTINCT | ALL])
Notă. SQL Server poate utiliza operatorul suplimentar% - modulul (întreg restul împărțirii).
→ Activare constantă
După cum coloanele pot acționa tipuri numerice și caracter constant.
Notă. SELECT DISTINCT 'la', SNum, Comm * 100, '%', sName DE LA agenții de vânzări
→ Redenumiți coloanele de ieșire
Computerizata, precum și orice altă coloană, dacă doriți, aveți posibilitatea să atribuiți un nume unic folosind cuvântul cheie AS: AS
Notă. În SQL Server pentru a da o nouă coloană cu nume, puteți utiliza operatorul de atribuire =
→ Se specifică principiul de prelucrare durează rânduri
DISTINCT - dezactivează rândul-ia în setul de ieșire. Este posibil să se stabilească un timp pentru instrucțiunea SELECT. În practică, producția stabilită inițial format, ordonat, și apoi sunt eliminate din valori duplicat. Este nevoie, de obicei, o mulțime de timp și nu-l abuzeze.
ALL (implicit) - prevede includerea rezultatelor de interogare și valori duplicate
→ Activați funcțiile agregate
Funcția de agregare (funcția pe seturi, statistice sau de bază) sunt proiectate pentru a calcula anumite valori pentru un set dat de linii. Următoarele funcții agregate:
• AVG | SUM (| [DISTINCT]) - calculează valoarea medie | sau valoarea. excluzând eventual duplicate, ignorând NULL.
• MIN | MAX () - găsește maximul | Valoarea minimă.
• COUNT (* [DISTINCT]) - contorizează numărul de linii într-o varietate de valori NULL subiect | valori într-o coloană, ignorand valorile NULL poate, fără duble.
Note privind utilizarea:
• funcții de agregare nu pot fi imbricate.
• Datorită SUM expresiei valori NULL (F1) -Sun (F2)<>Suma (F1-F2)
• În interiorul funcțiilor de agregare permise AVG expresie (Comm * 100)
• În cazul în care o singură linie sau toate valorile sunt NULL, funcția COUNT returnează 0, iar celălalt nu este obținut ca rezultat al cererii - NULL.
• AVG și USM funcții numai pentru anumite tipuri numerice pot fi utilizate, datele în intervalul, iar restul poate fi folosit pentru orice tip de date.
• Funcția COUNT returnează un număr întreg (de tip Integer), precum și alte tipuri de valori transformate moștenesc de date, prin care îngrijirea ar trebui inclusă în funcție de rezultatul SUM (overflow) și AVG funcția de scală.
Exemple de funcții agregate:
• SELECT COUNT (*) de la client
• SELECT COUNT (SNum DISTINCT) din ordinele
• SELECT MAX (Amt + Binc) din comenzi // Dacă Binc - câmp numeric opțional în ordinele
• SELECT AVG (Com * 100) DIN salespeople // Expresia in interiorul functiei
→ Caracteristici servere industriale
În baza de date Oracle în secțiunea SELECT, puteți specifica instrucțiunile suplimentare, sfaturi (informatii) (27 bucăți), care influențează alegerea tipului de interogare de optimizare și de activitatea sa.
* + ALL_ROWS * / din comenzi ... // cea mai bună performanță SELECT /
Baza de date SQL Server:
[TOP () [percent] [cu șnururi]] - specifică numărul sau procentul rândului de citire. În conformitate cu valori identice pot fi citite ultima a tuturor acestor linii și numărul total poate fi indicată.
DECLAR @p AS Int
SELECT @ p = 10
SELECT TOP (@p) cu șnururi * din ordinele
clauza
Această secțiune este opțională și vă permite să:
→ specifica numele tabelei sursă
Clauza FROM specifică numele de masă și / sau reprezentările din care vor fi extrase datele. Mai mult decât atât, aceeași masă poate fi de mai multe ori pentru a introduce această secțiune.
Notă: În Oracle, puteți alege linia și din imagini (Instantaneu).
→ Precizați tabelele alias
Sub pseudonimul tabel se referă la un obicei, un identificator suplimentar, scurt indicând prin spațiu după numele tabel / vizualizare.
Exemplu: Client C
→ respectiva variantă externă tabele de asociere
În cazul în care clauza FROM conține mai multe tabele, toate considerate implicit conexiunile externe. Standardul prevede următoarele tipuri principale de conexiuni tabele:
1) Cross-conexiune
CROSS-TE - determină toate combinațiile posibile de perechi de linii, câte una pentru fiecare rând de fiecare dintre tabele unite. compus echivalent cartezian. Uneori, el a numit produsul cartezian.
2) Un compus natural
[NATURAL] [] ÎNREGISTREAZĂ - determinată linie numai acele tabelele A și B, în care valorile coloanelor sunt identice. Chemat equi-join nu este destul de complet. Această conexiune automată a mai multor coloane cu toate același nume (alăture peste).
3) compus care combină
UNION TE - a determinat numai rândurile din fiecare tabel pentru care nu a fost stabilit un meci. Coloanele din alte tabele sunt umplute cu valori NULL. Rețineți că Uniunea de conectare și operatorul UNIUN - nu este același lucru. Compus tip INTERIOARĂ oppositely compus.
4) Combinarea de predicat
[] Înscrii la - filtre de linie. Predicatul poate conține subinterogări.
5) Fuzionarea cu numele coloanelor
[] ÎNSCRIEȚI UTILIZAREA () - definește conexiunea numai pe coloanele specificate, în timp ce Natural - automat pe toate cu același nume.
tipuri de conexiuni
este unul dintre argumentele: INTERIOARĂ | LEFT | RIGHT | FULL [SECUNDAR]>
• INTERIOARĂ - include siruri de caractere, care are coloane cu aceleași date din tabelele unite. Acest lucru este implicit.
• LEFT [SECUNDAR] - Tabelul A include toate rândurile (graficul din stânga), precum și toate valorile care se potrivesc din tabelul B. Coloanele rânduri distincte sunt ocupate NULL valori.
• DREAPTA [EXTERIOARĂ] - include toate rândurile din tabelul B (graficul din dreapta) și toate valorile care se potrivesc de tabelul A. versiunea inversă pentru asociere stânga.
• FULL [SECUNDAR] - include toate rândurile din ambele tabele. Coloanele sunt umplute cu rânduri coincide cu valori reale, și liniile de date - NULL-valori.
• EXTERIOR (exterior) - cuvânt de calificare ceea ce înseamnă că rândurile necompensate din tabelul de conducere inclus cu coincidente.
Exemple ale asociației externe:
• SELECT * FROM INTERIOARĂ Agenții de vânzări ÎNSCRIEȚI client de pe SalesPeople.City = Customer.City
• SELECT * de la client LEFT OUTER JOIN PE SalesPeople.City = agenți de vânzări Customer.City
• Selectați * de la client full outer-TE PE SalesPeople.City = agenți de vânzări Customer.City
Compușii carteziene și auto-se alăture
• Când porniți pe mai multe mese nu utilizează aceste sau alte opțiuni de tabele care unesc, astfel de compuși sunt numite cartezian. Ele sunt folosite pentru a prelua rândurile din două tabele diferite. Apoi, de exemplu, atunci când cele două tabele, fiecare dintre care conține 20 de linii, tabelul rezultat va conține 100 de linii - fiecare dintre rândurile din tabel, cu fiecare dintre celelalte rânduri ale tabelului. SELECT * de la client, Comenzi.
• Compușii de auto-identice se alăture de tabele numite (auto-join).
clauza WHERE
1. Crearea de conexiuni interne
Comunicarea între tabele se realizează cu ajutorul unui operator de comparare, precum și o listă de coloane de ieșire includ nume de calificare pentru coloanele omonime ale tabelelor originale.
Principalele tipuri de conexiuni:
• equi-join - acest tabel se alatura bazat pe egalitate. Relația dintre tabelele de pe coloanele cheie prevede integritatea referențială. În cazul în care conexiunea utilizează primară și cheie străină este întotdeauna o relație de (părinte / copil), „one-to-multi.“
• Conexiune Theta - este un compus atunci când este utilizat ca o inegalitate operator de comparare (<>,> =.
SELECT C.CName, S.SName, S.City DIN salespeople S, Clientul C UNDE S.City = C.City
SELECT SNAME, CName DE LA agenții de vânzări, client UNDE sName
2. Filtrarea pluralitate de linii de ieșire
Clauza WHERE poate fi, de asemenea, determinată. și anume condiția logică, care poate fi fie adevărat sau fals. Mai mult decât atât, una sau ambele valori comparate în predicatul poate fi egal cu NULL, atunci rezultatul comparației poate fi setat la NECUNOSCUT. instrucțiune SELECT preia numai rândurile de tabele, pentru care valoarea TRUE, cu excepția faptului că liniile pentru care este fals sau NECUNOSCUTĂ.