Setiap DBS modern, seperti MariaDB , mengimplementasikan perintah UNION JOIN. Ini adalah perintah SQL & nbsp; 3 , tetapi tidak dikenal atau digunakan. Pelajari lebih lanjut tentang UNION GABUNG .
Auston 3-15
Jawaban:
301
UNIONmenempatkan garis dari kueri satu sama lain, sementara JOINmembuat produk kartesius dan mengelompokkannya - operasi yang sama sekali berbeda. Contoh sepele dari UNION:
Bisakah Anda memberi tahu saya apa itu UNION-JOINdan bagaimana saya bisa mencapainya dalam SQL standar? Maria DB memiliki perintah union join, tetapi database lain tidak. Terima kasih.
Erran Morad
73
Bergabung dan Serikat dapat digunakan untuk menggabungkan data dari satu atau lebih tabel. Perbedaannya terletak pada bagaimana data digabungkan.
Secara sederhana, bergabung menggabungkan data ke dalam kolom baru . Jika dua tabel digabungkan, maka data dari tabel pertama ditampilkan dalam satu set kolom di samping kolom tabel kedua di baris yang sama.
Serikat pekerja menggabungkan data ke dalam baris baru. Jika dua tabel "bersatu" bersama, maka data dari tabel pertama adalah dalam satu set baris, dan data dari tabel kedua di set lain. Baris dalam hasil yang sama.
Berikut ini adalah penggambaran visual dari bergabung. Kolom Tabel A dan B digabungkan menjadi satu hasil.
Setiap baris dalam hasil berisi kolom dari KEDUA tabel A dan B. Baris dibuat ketika kolom dari satu tabel cocok dengan kolom lainnya. Pertandingan ini disebut kondisi bergabung.
Ini membuat penggabungan sangat bagus untuk mencari nilai dan memasukkannya dalam hasil. Ini biasanya merupakan hasil dari denormalisasi (membalikkan normalisasi) dan melibatkan penggunaan kunci asing dalam satu tabel untuk mencari nilai kolom dengan menggunakan kunci primer di tabel lain.
Sekarang bandingkan penggambaran di atas dengan penggabungan. Dalam sebuah serikat, setiap baris dalam hasilnya berasal dari satu tabel ATAU yang lainnya. Dalam gabungan, kolom tidak digabungkan untuk membuat hasil, baris digabungkan.
Gabungan dan gabungan dapat digunakan untuk menggabungkan data dari satu atau lebih tabel ke dalam satu hasil. Mereka berdua pergi tentang cara ini berbeda. Jika gabungan digunakan untuk menggabungkan kolom dari tabel yang berbeda, gabungan digunakan untuk menggabungkan baris.
Ini adalah contoh visual yang luar biasa. Saya cukup yakin saya mengerti setelah jawaban yang lain, tetapi ini benar-benar jelas.
seadoggie01
Untuk contoh bergabung, secara teknis, tidakkah harus ada seperti 10 kolom untuk hasilnya?
Bharath Ram
60
UNION menggabungkan hasil dari dua atau lebih kueri ke dalam satu set hasil tunggal yang mencakup semua baris yang menjadi milik semua kueri di dalam serikat.
Dengan menggunakan BERGABUNG , Anda dapat mengambil data dari dua tabel atau lebih berdasarkan pada hubungan logis antara tabel. Bergabung menunjukkan bagaimana SQL harus menggunakan data dari satu tabel untuk memilih baris di tabel lain.
Operasi UNION berbeda dari menggunakan BERGABUNG yang menggabungkan kolom dari dua tabel.
Gambar-gambar ini menyiratkan bahwa FULL OUTER JOINitu sama dengan UNION, yang memang memiliki perbedaan
icc97
1
Jawaban ini menunjukkan bahwa gambar-gambar itu membingungkan (IMO yang mana) tetapi kemudian tidak menjelaskan mengapa atau menawarkan klarifikasi apa pun terhadap pertanyaan awal.
Josh D.
1
Setiap gambar dengan diagram menjelaskan dengan sempurna situasinya. Tidak ada gambar tunggal selain yang dapat menggabungkan semua diagram. Itu akan lebih membingungkan.
Java Main
41
IKUTI:
Gabung digunakan untuk menampilkan kolom dengan nama yang sama atau berbeda dari tabel yang berbeda. Output yang ditampilkan akan memiliki semua kolom yang ditampilkan secara individual. Artinya, kolom akan disejajarkan di sebelah satu sama lain.
PERSATUAN:
Operator set UNION digunakan untuk menggabungkan data dari dua tabel yang memiliki kolom dengan tipe data yang sama. Ketika UNION dilakukan, data dari kedua tabel akan dikumpulkan dalam satu kolom yang memiliki tipe data yang sama.
Bergabung dan serikat dapat digunakan untuk menggabungkan data dari satu atau lebih tabel. Perbedaannya terletak pada bagaimana data digabungkan.
Secara sederhana, bergabung menggabungkan data ke dalam kolom baru. Jika dua tabel digabungkan, maka data dari tabel pertama ditampilkan dalam satu set kolom di samping kolom tabel kedua di baris yang sama.
Serikat pekerja menggabungkan data ke dalam baris baru. Jika dua tabel "bersatu" bersama, maka data dari tabel pertama adalah dalam satu set baris, dan data dari tabel kedua di set lain. Baris dalam hasil yang sama.
1. Klausa SQL Joins digunakan untuk menggabungkan catatan dari dua atau lebih tabel dalam database. GABUNG adalah sarana untuk menggabungkan bidang dari dua tabel dengan menggunakan nilai yang umum untuk masing-masing.
2. Operator SQL UNION menggabungkan hasil dari dua atau lebih pernyataan SELECT. Setiap pernyataan SELECT dalam UNION harus memiliki jumlah kolom yang sama. Kolom juga harus memiliki tipe data yang serupa. Juga, kolom dalam setiap pernyataan SELECT harus dalam urutan yang sama.
UNION menggabungkan hasil dari dua atau lebih kueri menjadi satu set hasil tunggal yang mencakup semua baris yang menjadi milik semua kueri di dalam serikat.
Contoh UNION:
SELECT 121 AS [Kolom1], 221 AS [Kolom2]
PERSATUAN
SELECT 321 AS [Kolom1], 422 AS [Kolom2]
Dalam abstrak, keduanya serupa, dalam dua tabel atau set hasil digabungkan, tetapi UNION benar-benar untuk menggabungkan set hasil dengan JUMLAH KOLOM YANG SAMA dengan JENIS-JENIS DATA YANG MENGUMPULKAN KOLOM. STRUKTURnya sama, hanya baris baru yang ditambahkan.
Dalam gabungan, Anda dapat menggabungkan set tabel / hasil dengan struktur apa pun yang mungkin, termasuk gabungan kartesian di mana TIDAK ada kolom bersama / serupa.
Ini menimbulkan pertanyaan - bergabung disebutkan dalam istilah "bergabung" & serikat disebutkan dalam istilah "gabungan" yang tidak dijelaskan. Ngomong-ngomong, menurut Anda apa yang akan Anda tambahkan di luar jawaban berumur 10 tahun yang sangat terpilih yang menjadikan ini "berguna"? (Retorika.) Lihat teks voting panah mouseover.
Jawaban:
UNION
menempatkan garis dari kueri satu sama lain, sementaraJOIN
membuat produk kartesius dan mengelompokkannya - operasi yang sama sekali berbeda. Contoh sepele dariUNION
:contoh sepele yang serupa dari
JOIN
:sumber
UNION-JOIN
dan bagaimana saya bisa mencapainya dalam SQL standar? Maria DB memiliki perintahunion join
, tetapi database lain tidak. Terima kasih.Bergabung dan Serikat dapat digunakan untuk menggabungkan data dari satu atau lebih tabel. Perbedaannya terletak pada bagaimana data digabungkan.
Secara sederhana, bergabung menggabungkan data ke dalam kolom baru . Jika dua tabel digabungkan, maka data dari tabel pertama ditampilkan dalam satu set kolom di samping kolom tabel kedua di baris yang sama.
Serikat pekerja menggabungkan data ke dalam baris baru. Jika dua tabel "bersatu" bersama, maka data dari tabel pertama adalah dalam satu set baris, dan data dari tabel kedua di set lain. Baris dalam hasil yang sama.
Berikut ini adalah penggambaran visual dari bergabung. Kolom Tabel A dan B digabungkan menjadi satu hasil.
Setiap baris dalam hasil berisi kolom dari KEDUA tabel A dan B. Baris dibuat ketika kolom dari satu tabel cocok dengan kolom lainnya. Pertandingan ini disebut kondisi bergabung.
Ini membuat penggabungan sangat bagus untuk mencari nilai dan memasukkannya dalam hasil. Ini biasanya merupakan hasil dari denormalisasi (membalikkan normalisasi) dan melibatkan penggunaan kunci asing dalam satu tabel untuk mencari nilai kolom dengan menggunakan kunci primer di tabel lain.
Sekarang bandingkan penggambaran di atas dengan penggabungan. Dalam sebuah serikat, setiap baris dalam hasilnya berasal dari satu tabel ATAU yang lainnya. Dalam gabungan, kolom tidak digabungkan untuk membuat hasil, baris digabungkan.
Gabungan dan gabungan dapat digunakan untuk menggabungkan data dari satu atau lebih tabel ke dalam satu hasil. Mereka berdua pergi tentang cara ini berbeda. Jika gabungan digunakan untuk menggabungkan kolom dari tabel yang berbeda, gabungan digunakan untuk menggabungkan baris.
Sumber
sumber
UNION menggabungkan hasil dari dua atau lebih kueri ke dalam satu set hasil tunggal yang mencakup semua baris yang menjadi milik semua kueri di dalam serikat.
Dengan menggunakan BERGABUNG , Anda dapat mengambil data dari dua tabel atau lebih berdasarkan pada hubungan logis antara tabel. Bergabung menunjukkan bagaimana SQL harus menggunakan data dari satu tabel untuk memilih baris di tabel lain.
Operasi UNION berbeda dari menggunakan BERGABUNG yang menggabungkan kolom dari dua tabel.
Contoh UNION:
Keluaran:
GABUNG Contoh:
Ini akan menampilkan semua baris dari kedua tabel yang kondisinya
a.Id = b.AFKId
benar.sumber
Anda mungkin melihat penjelasan skematis yang sama untuk keduanya, tetapi ini benar-benar membingungkan.
Untuk UNION:
Untuk BERGABUNG:
sumber
FULL OUTER JOIN
itu sama denganUNION
, yang memang memiliki perbedaanIKUTI:
Gabung digunakan untuk menampilkan kolom dengan nama yang sama atau berbeda dari tabel yang berbeda. Output yang ditampilkan akan memiliki semua kolom yang ditampilkan secara individual. Artinya, kolom akan disejajarkan di sebelah satu sama lain.
PERSATUAN:
Operator set UNION digunakan untuk menggabungkan data dari dua tabel yang memiliki kolom dengan tipe data yang sama. Ketika UNION dilakukan, data dari kedua tabel akan dikumpulkan dalam satu kolom yang memiliki tipe data yang sama.
Sebagai contoh:
Lihat dua tabel di bawah ini:
Sekarang untuk melakukan tipe JOIN, query ditunjukkan di bawah ini.
Itu sebuah join.
UNION berarti Anda harus tabel atau hasil dengan jumlah dan jenis kolom yang sama dan Anda menambahkan ini ke tabel / hasil bersama. Lihat contoh ini:
sumber
Mereka hal yang sangat berbeda.
Sebuah bergabung memungkinkan Anda untuk berhubungan data yang sama dalam tabel yang berbeda.
Serikat pekerja mengembalikan hasil dari dua kueri yang berbeda sebagai satu set rekaman.
sumber
Persatuan membuat dua kueri terlihat seperti satu. Bergabung adalah untuk memeriksa dua atau lebih tabel dalam pernyataan kueri tunggal
sumber
Bergabung dan serikat dapat digunakan untuk menggabungkan data dari satu atau lebih tabel. Perbedaannya terletak pada bagaimana data digabungkan.
Secara sederhana, bergabung menggabungkan data ke dalam kolom baru. Jika dua tabel digabungkan, maka data dari tabel pertama ditampilkan dalam satu set kolom di samping kolom tabel kedua di baris yang sama.
Serikat pekerja menggabungkan data ke dalam baris baru. Jika dua tabel "bersatu" bersama, maka data dari tabel pertama adalah dalam satu set baris, dan data dari tabel kedua di set lain. Baris dalam hasil yang sama.
sumber
Ingat bahwa penyatuan akan menggabungkan hasil ( SQL Server untuk memastikan) (fitur atau bug?)
id, nilai
1,3
id, nilai, id, nilai
1,3,1,3
sumber
UNION
vsUNION ALL
stackoverflow.com/questions/49925/…1. Klausa SQL Joins digunakan untuk menggabungkan catatan dari dua atau lebih tabel dalam database. GABUNG adalah sarana untuk menggabungkan bidang dari dua tabel dengan menggunakan nilai yang umum untuk masing-masing.
2. Operator SQL UNION menggabungkan hasil dari dua atau lebih pernyataan SELECT. Setiap pernyataan SELECT dalam UNION harus memiliki jumlah kolom yang sama. Kolom juga harus memiliki tipe data yang serupa. Juga, kolom dalam setiap pernyataan SELECT harus dalam urutan yang sama.
misalnya: pesanan tabel 1 pelanggan / table 2
bergabung dalam:
SELECT ID, NAME, AMOUNT, DATE
DARI PELANGGAN
INNER BERGABUNG PESANAN
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
Persatuan:
SELECT ID, NAME, AMOUNT, DATE
DARI PELANGGAN
PESAN GABUNG KIRI
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID
PERSATUAN
ID PILIH, NAMA, JUMLAH, TANGGAL DARI PELANGGAN
BERGABUNG DENGAN PESANAN
ON CUSTOMERS.ID = ORDERS.CUSTOMER_ID;
sumber
Menggunakan UNION
UNION menggabungkan hasil dari dua atau lebih kueri menjadi satu set hasil tunggal yang mencakup semua baris yang menjadi milik semua kueri di dalam serikat.
Menggunakan GABUNG
BERGABUNG, Anda dapat mengambil data dari dua tabel atau lebih berdasarkan hubungan logis antara tabel.
sumber
Dalam abstrak, keduanya serupa, dalam dua tabel atau set hasil digabungkan, tetapi UNION benar-benar untuk menggabungkan set hasil dengan JUMLAH KOLOM YANG SAMA dengan JENIS-JENIS DATA YANG MENGUMPULKAN KOLOM. STRUKTURnya sama, hanya baris baru yang ditambahkan.
Dalam gabungan, Anda dapat menggabungkan set tabel / hasil dengan struktur apa pun yang mungkin, termasuk gabungan kartesian di mana TIDAK ada kolom bersama / serupa.
sumber
Operator UNION hanya untuk menggabungkan dua atau lebih pernyataan SELECT.
Sementara BERGABUNG adalah untuk memilih baris dari setiap tabel, baik dengan metode dalam, luar, kiri atau kanan.
Lihat di sini dan di sini . Ada penjelasan yang lebih baik dengan contoh-contoh.
sumber
Operasi Union adalah hasil gabungan dari Agregat Vertikal dari baris, Operasi Union adalah hasil gabungan dari Agregat Horisontal dari Kolom.
sumber
Saya suka memikirkan perbedaan umum sebagai:
sumber