Web888.vn
  • Shop
  • Blog
Đăng nhập
  • Đăng nhập / Đăng ký

Please enter key search to display results.

Home
  • Microsoft SQL Server
Combina dati utilizzando (SET OPERATORS) UNION, INTERSECT ed EXCEPT in SQL Server

Combina dati utilizzando (SET OPERATORS) UNION, INTERSECT ed EXCEPT in SQL Server

  • 12-09-2022
  • Toanngo92
  • 0 Comments

impostare gli operatori forniti da SQL Server:

  • UNIONE
  • INTERSEC
  • TRANNE

Mục lục

  • Operatore sindacale (unione)
  • Operatore INTERSECT (incrocio)
  • Operatore EXCEPT (tranne)

Operatore sindacale (unione)

I risultati di due diverse istruzioni di query possono essere combinati in un unico set di risultati utilizzando l’operatore UNION. Le istruzioni di query devono avere un tipo di colonna compatibile e un numero uguale di colonne. I nomi delle colonne possono essere diversi in ciascuna istruzione, ma i tipi di dati devono essere compatibili. Per tipi di dati compatibili, significa che il contenuto di una delle colonne può essere convertito in un’altra colonna. Ad esempio, se un’istruzione di query ha il tipo di dati di int e un’altra ha il tipo di dati di money , sono compatibili tra loro e l’unione può aver luogo tra di loro perché i dati int possono essere convertiti in money .data

Sintassi:

Query_Statement1 UNION [ALL] Query Statment_2

Per esempio:

SELECT Product.ProductId FROM Production.Product UNION SELECT ProductId FROM Sales.SalesOrderDetail

L’istruzione precedente recupererà l’intera colonna ProductId di entrambe le tabelle che corrispondono. Se si utilizza la clausola ALL , tutte le tabelle appariranno nel set di risultati inclusi i record duplicati (in dettaglio ci sono molti Ordini che vendono lo stesso Prodotto).

UNION ALL esempio:

SELECT Product.ProductId FROM Production.Product UNION ALL SELECT ProductId FROM Sales.SalesOrderDetail

Per impostazione predefinita, l’operatore UNION elimina i record ridondanti nel set di risultati. Tuttavia, se si aggiunge la clausola ALL all’operatore UNION, verranno restituiti tutti i record.

Differenza tra UNION e JOIN:

Le operazioni JOIN e UNION possono essere utilizzate per combinare i dati di una o più tabelle. La differenza sta nel modo in cui i dati vengono combinati.

In una parola, join combina i dati in nuove colonne. Se vengono unite due tabelle, i dati della prima tabella vengono visualizzati in un insieme di colonne insieme alla colonna della seconda tabella nella stessa riga.

Le unioni combinano i dati in nuove righe. Se due tabelle vengono “unite” insieme, i dati della prima tabella si trovano in un insieme di righe e i dati della seconda tabella in un altro insieme. Le righe hanno lo stesso risultato.

Riferimento: https://stackoverflow.com/questions/905379/what-is-the-difference-between-join-and-union#:~:text=The%20difference%20lies%20in%20how,combine%20data% 20into %20nuove%20righe.

Operatore INTERSECT (incrocio)

Supponiamo che la situazione abbia 2 tabelle Product e SalesOrderDetail e desideri visualizzare tutte le righe comuni in entrambe le tabelle. Per fare ciò, puoi utilizzare l’operatore INTERSECT . L’operatore INTERSECT viene utilizzato con due istruzioni di query che restituiscono un set di risultati separato con righe comuni a entrambe le query.

Sintassi:

Query_statement1 INTERSECT Query_statement2

Per esempio:

SELECT Product.ProductId FROM Production.Product INTERSECT SELECT ProductId FROM Sales.SalesOrderDetail

Il risultato dell’intersezione tra le tabelle Production.Product e Sales.SalesOrderDetail avrà solo productid che corrispondono ai record nella tabella prodotto. In una grande azienda, ci sarà un gran numero di record di dati archiviati nel database. Invece di memorizzare tutti i dati in un’unica tabella, può essere suddiviso in più tabelle diverse. Quando i dati vengono archiviati in tabelle separate, SQL Server dispone di molti modi per combinare i dati dalle tabelle come JOIN,UNION,INTERSECT .

Regole per l’utilizzo di INTERSECT :

  • Il numero di colonne e l’ordine in cui vengono fornite devono essere gli stessi in entrambe le query
  • I tipi di dati delle colonne utilizzate devono essere compatibili

Operatore EXCEPT (tranne)

L’ operatore EXCEPT restituisce tutte le righe distinte della query a sinistra di questo operatore e rimuove tutti i record dal set di risultati se corrispondono alla condizione a destra dell’operatore EXCEPT .

Sintassi:

Query_statement1 EXCEPT Query_statement2

Le due regole che si applicano all’operatore INTERSECT si applicano anche all’operatore EXCEPT:

  • Il numero di colonne e l’ordine in cui vengono fornite devono essere gli stessi in entrambe le query
  • I tipi di dati delle colonne utilizzate devono essere compatibili

Per esempio:

SELECT Product.ProductId FROM Production.Product EXCEPT SELECT ProductId FROM Sales.SalesOrderDetail

Con l’esempio sopra, vengono restituiti solo i record della tabella Production.Product che non compaiono nella tabella Sales.SalesOrderDetail, possiamo vedere che questa clausola può essere utilizzata nell’attività di ricerca e analisi di prodotti non ancora venduti.

Vediamo che l’operatore EXCEPT recupera tutti i record dalla prima tabella escluse le corrispondenze nella tabella 2, quindi quando si utilizza EXCEPT, l’ordine delle 2 tabelle nella query è importante e con INTERSECT non importa quale tabella è predefinita.

Bài viết liên quan:

Tabella (tabella) in SQL Server
Introduzione ai modelli di database, introduzione al concetto di RDBMS (Sistema di gestione di database correlato)
Modello entità-relazionale (modello ER) e normalizzazione dei dati (normalizzazione)

THÊM BÌNH LUẬN Cancel reply

Dịch vụ thiết kế Wesbite

NỘI DUNG MỚI CẬP NHẬT

Dati JSON in SQL Server

Funzionalità avanzate di SQL in SQL Server 2019

Presentazione di Azure SQL

Installa manualmente PHP su sistemi operativi Linux e Unix

Installa PHP manualmente su Mac OS

Giới thiệu

web888.vn là chuyên trang chia sẻ và cập nhật tin tức công nghệ, chia sẻ kiến thức, kỹ năng. Chúng tôi rất cảm ơn và mong muốn nhận được nhiều phản hồi để có thể phục vụ quý bạn đọc tốt hơn !

Liên hệ quảng cáo: [email protected]

Kết nối với web888

© web888.vn - Tech888 Co .Ltd since 2019

Đăng nhập

Trở thành một phần của cộng đồng của chúng tôi!
Registration complete. Please check your email.
Đăng nhập bằng google
Đăng kýBạn quên mật khẩu?

Create an account

Welcome! Register for an account
The user name or email address is not correct.

Your personal data will be used to support your experience throughout this website, to manage access to your account, and for other purposes described in our privacy policy.

Registration confirmation will be emailed to you.
Log in Lost your password?

Reset password

Recover your password
Password reset email has been sent.
The email could not be sent. Possible reason: your host may have disabled the mail function.
A password will be e-mailed to you.
Log in Register
×