Lucrul cu seturi în Transact-SQL, baze de date, articole, programare - programare C,

Unul dintre dezavantajele MS SQL Server (în comparație cu ORACLE) - lipsa aproape completă a funcțiilor gata făcute pentru lucrul cu seturile (se referă în continuare la un set unic care nu exista valori duplicate). De exemplu, pentru a obține diferența dintre două seturi (în Oracle operațiune munus), trebuie să scrie destul de complexe declarații SQL. Dacă schimbați operația (când, în loc de (A - B), este necesar să se efectueze (B - A)) este necesară pentru a rescrie exprimare. O expresie construct pentru 3 sau mai multe seturi - sarcina nu este una simplă.


Părțile 1 și 2 sunt proiectate pentru incepatori.

Partea 1. Set operațiuni.

La început de acord ce se înțelege printr-un set. Putem spune acest lucru este un tabel cu o cheie primară (una sau mai multe coloane). Suntem interesați doar cheia. În consecință, fiecare rând din tabel trebuie să fie unic.

Luați în considerare următorul exemplu: sâmbătă și duminică ai avut vizitatori:

concluzie

După cum puteți vedea, există unele modele.

Intersecția seturi corespund întotdeauna cu suma de identificare. Diferență - ID deductibilă. diferența de Simetric - listare identificatori de seturi primare. Etc. Folosind aceste legi, chiar ai putea scrie un fel de procedură, ceva de genul un calculator seturi. Ca opțiune ar lua numele de tabele și de exprimare care ar trebui să fie evaluate.

Avantajele metodei propuse poate fi atribuită unei „programabilitate“ ușor SQL dinamic. Mai ales în cazurile în care nu este cunoscut în prealabil, ceea ce este necesar pentru a efectua operația. Confortabil de lucru cu tabele care conțin mai multe coloane, deoarece nu este necesar să se lege coloanele relevante din diferite tabele, pe care îl utilizați JOIN.

Productivitatea procesului nu este încă măsurat. Poate că este mai mic decât cu un JOIN. În cazul în care o singură măsură, vă rugăm să informați.

Noi trebuie să fie încă o dată remarcat faptul că metodele descrise mai sus pot fi aplicate numai în cazul în care setul nu există valori duplicate.

Voi ști doar părerea ta.

articole similare