Загалмайн нэгдэл нь декартын бүтээгдэхүүн мөн үү?
Загалмайн нэгдэл нь декартын бүтээгдэхүүн мөн үү?

Видео: Загалмайн нэгдэл нь декартын бүтээгдэхүүн мөн үү?

Видео: Загалмайн нэгдэл нь декартын бүтээгдэхүүн мөн үү?
Видео: Декарт бүтээгдэхүүн 2024, Арваннэгдүгээр
Anonim

Аль аль нь нэгддэг ижил үр дүнг өгнө. Загалмай - нэгдэх SQL 99 юм нэгдэх болон Декарт бүтээгдэхүүн нь Oracle-ийн өмч юм нэгдэх . А хөндлөн - нэгдэх Энэ нь 'хаана' гэсэн заалт байхгүй бол үүнийг өгдөг Декарт бүтээгдэхүүн . Декарт бүтээгдэхүүн үр дүнгийн багц нь эхний хүснэгтийн мөрийн тоог хоёр дахь хүснэгтийн мөрийн тоогоор үржүүлсэн байна.

Мөн хөндлөн холболт юу хийдэгийг мэдэх үү?

SQL хэл дээр CROSS NOIN Эхний хүснэгтийн мөр бүрийг хоёр дахь хүснэгтийн мөр бүртэй нэгтгэхэд ашигладаг. Үүнийг мөн Картезиан гэж нэрлэдэг нэгдэх Учир нь энэ нь нэгтгэсэн хүснэгтүүдээс мөрийн багцын декартын үржвэрийг буцаадаг.

Мөн та хөндлөн холболтыг хэрхэн бичихийг мэдэх үү? Хэрэв WHERE заалтыг ашиглаж байгаа бол CROSS NOIN , энэ нь INNER шиг ажилладаг НЭГДЭХ . Ижил үр дүнд хүрэх өөр арга бол SELECT-ын дараа таслалаар тусгаарлагдсан баганын нэрийг ашиглах ба FROM заалтын дараа холбогдох хүснэгтийн нэрийг дурдах явдал юм. Жишээ: Энд жишээ байна хөндлөн нэгдэх SQL дээр хоёр хүснэгтийн хооронд.

Үүнээс гадна, SQL-д декарт нэгдэл гэж юу вэ?

А Декарт нэгдэх эсвэл Декарт бүтээгдэхүүн нь а нэгдэх нэг хүснэгтийн мөр бүрээс нөгөө хүснэгтийн мөр бүрт. Энэ нь ихэвчлэн таарахгүй үед тохиолддог нэгдэх багануудыг тодорхойлсон. Жишээлбэл, 100 мөртэй А хүснэгтийг 1000 мөртэй В хүснэгттэй нэгтгэвэл, Декарт нэгдэх 100,000 мөрийг буцаана.

Өгөгдлийн сангийн декарт гэж юу вэ?

The Декарт Бүтээгдэхүүнийг хөндлөн холболт гэж нэрлэдэг бөгөөд асуулгад жагсаасан бүх хүснэгтийн бүх мөрийг буцаана. Эхний хүснэгтийн мөр бүрийг хоёр дахь хүснэгтийн бүх мөртэй хослуулсан. Энэ нь хоёр хүснэгтийн хооронд тодорхой хамаарал байхгүй үед тохиолддог.

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