SQL-də birləşmə və birləşmə arasındakı fərq nədir?
SQL-də birləşmə və birləşmə arasındakı fərq nədir?

Video: SQL-də birləşmə və birləşmə arasındakı fərq nədir?

Video: SQL-də birləşmə və birləşmə arasındakı fərq nədir?
Video: Omonim və çoxmənalı sözlərin fərqləndirilməsi izah-Pərvin Alıyev 2024, Noyabr
Anonim

Birlikdə , nəticələr yaratmaq üçün sütunlar birləşdirilmir, satırlar birləşdirilir. Hər ikisi birləşmələr və birliklər bir və ya bir neçə cədvəldəki məlumatları vahid nəticələrdə birləşdirmək üçün istifadə edilə bilər. İkisi də bu mövzuda gedirlər fərqli yollar. halbuki a qoşulun -dən sütunları birləşdirmək üçün istifadə olunur fərqli masalar, birlik sıraları birləşdirmək üçün istifadə olunur.

Eynilə, birlik və tam birləşmə arasındakı fərq nədir?

Qoşulun -dən sütunları birləşdirmək üçün istifadə olunur fərqli masalar, halbuki birlik sıraları birləşdirmək üçün istifadə olunur. Ümid edirəm kömək edər. Bunu vizual olaraq təsəvvür edirsinizsə: Tam ilə xarici qoşulun sütunlar əlavə edirsiniz və nəticə sətirlərinizi (tuples) mənbə cədvəllərinin sətirlərindən (atributlarından) sütunlarla (atributlarla) genişləndirirsiniz.

Bundan əlavə, SQL-də birləşmə əvəzinə nə istifadə edilə bilər? Birlik SQL operatoruna bir neçə alternativ var:

  • UNION ALL istifadə edin.
  • Hər bir SQL-i ayrıca yerinə yetirin və proqramınız daxilində nəticə dəstlərini birləşdirin və çeşidləyin!
  • Cədvəllərə qoşulun.
  • 10g və ondan yuxarı versiyalarda MODEL bəndini araşdırın.
  • Skalar alt sorğudan istifadə edin.

Eynilə, insanlar soruşurlar, daha sürətli birləşmə və ya birləşmə nədir?

Tək SELECT hər cədvəl üçün birdən çox indeksdən istifadə etməyəcək. A BİRLİK hər SELECT üçün birdən çox indeks istifadə etməyəcək birlik . Beləliklə, sonuncu, EXPLAIN-də bir çox yerdə "İstifadə indeksi" ilə göründüyü kimi indekslərdən daha yaxşı istifadə edəcəkdir. Yəni dediklərindən BİRLİKLƏR təbiətlərinə görə həqiqətən var Daha sürətli JOIN-lərdən daha çox.

Tam xarici birləşmə dublikatları silirmi?

Nə vaxt qoşulma istifadə edərək iki masa " tam xarici birləşmələr ", nəticəsi olacaq dublikat sütunlar. Məsələn, sütun uyğunluğu "tarix" olarsa, nəticə verilənlər bazasında "tarix" və "tarix_1" sütunları olacaq. Solda xarici birləşmə və ya daxili qoşulun , biz sadəcə olaraq "sütunları seçin" istifadə edə bilərik çıxarın the dublikat sütunlar.

Tövsiyə: