SQL дээр нэгдэх болон нэгдэх хоёрын ялгаа юу вэ?
SQL дээр нэгдэх болон нэгдэх хоёрын ялгаа юу вэ?

Видео: SQL дээр нэгдэх болон нэгдэх хоёрын ялгаа юу вэ?

Видео: SQL дээр нэгдэх болон нэгдэх хоёрын ялгаа юу вэ?
Видео: АНТИМАТЕРИ гэж юу вэ ? 2024, Арванхоёрдугаар сар
Anonim

Холбоонд , үр дүнг үүсгэхийн тулд багануудыг нэгтгэдэггүй, мөрүүдийг нэгтгэдэг. Хоёулаа нэгдлүүд болон эвлэлүүд нь нэг буюу хэд хэдэн хүснэгтийн өгөгдлийг нэгтгэж, нэг үр дүнд хүргэж болно. Тэд хоёулаа энэ талаар явдаг өөр арга замууд. Харин а нэгдэх -аас багануудыг нэгтгэхэд ашигладаг өөр ширээ, the нэгдэл эгнээ нэгтгэхэд ашигладаг.

Үүний нэгэн адил, нэгдэл болон бүрэн нэгдэх хоёрын ялгаа юу вэ?

Нэгдэх -аас багануудыг нэгтгэхэд ашигладаг өөр ширээ, харин нэгдэл эгнээ нэгтгэхэд ашигладаг. Энэ тусална гэж найдаж байна. Хэрэв та үүнийг нүдээр төсөөлвөл: Бүрэн дүүрэн гадна нэгдэх та багана нэмж, үр дүнгийн мөрүүдээ (атрибутууд) эх хүснэгтүүдийн мөрүүдээс (атрибутууд) өргөжүүлнэ.

Нэмж дурдахад, SQL-д нэгдлийн оронд юу ашиглаж болох вэ? Union SQL операторын хэд хэдэн хувилбар байдаг:

  • UNION ALL-г ашигла.
  • SQL тус бүрийг тусад нь ажиллуулж, үр дүнгийн багцыг програмдаа нэгтгэж, эрэмбэл!
  • Хүснэгтүүдэд нэгдээрэй.
  • 10 гр ба түүнээс дээш хувилбаруудад ЗАГВАР заалтыг судлаарай.
  • Скаляр дэд асуулга ашиглана уу.

Үүний нэгэн адил хүмүүс нэгдэх, нэгдэх нь юу вэ гэж асуудаг.

Нэг SELECT нь хүснэгт бүрт нэгээс илүүгүй индекс ашиглах болно. А НЭГДСЭН доторх SELECT-д нэгээс илүүгүй индекс ашиглах болно нэгдэл . Тиймээс сүүлийнх нь индексийг илүү сайн ашиглах болно, үүнийг ТАЙЛБАР-ын олон газар "Ашиглах индекс"-ээс харж болно. Тэгэхээр таны хэлж байгаа зүйлээс UNIONs мөн чанараараа үнэхээр байдаг Илүү хурдан JOIN-ээс илүү.

Бүрэн гаднах холболт нь давхардлыг арилгах уу?

Хэзээ нэгдэх ашиглаж байгаа хоёр хүснэгт бүрэн гаднах холболтууд ", үр дүн нь гарах болно давхардсан багана. Жишээлбэл, таарах багана нь "огноо" бол үр дүнгийн өгөгдлийн багц нь "огноо" ба "огноо_1" баганатай байна. Зүүн талд гаднах нэгдэл эсвэл дотоод нэгдэх , бид зүгээр л "сонгох багана" ашиглаж болно арилгах нь давхардсан багана.

Зөвлөмж болгож буй: