КомпьютерПрограмчлалын

Оператор SQL Өвөр ЭЛСЭЭРЭЙ: синтакс болон онцлог жишээ

ямар ч мэдээллийн санг хөгжүүлэх нь мэдээлэл нь зөвхөн бий болгох, төрөл бүрийн мэдээлэл ширээ дүүргэлт, бас цаашид ажил орно. зөв, ширээ, тайлагнах өгөгдлийн сонгох үед зорилт нь төрөл бүрийн гүйцэтгэх стандарт загварыг сонгох ашигладаг.

хүснэгтийн өгөгдлийг татаж

Хэрэв бид мэдээллийн сонголт буюу тайлан барилгын асуудлыг авч үзэх, та үйл ажиллагааны нарийн төвөгтэй түвшинг тодорхойлж болно. Дүрмээр бол, мэдээллийн сан, онлайн дэлгүүр, эсвэл том компаниуд, жишээ нь, бий болж байна (Боть дагуу) ноцтой ажиллаж байхад, өгөгдлийн сонголт нь нэг ширээн дээр нь хязгаарлагдмал байна. Дүрмээр бол, жишээ нь үүрэг хамаарч, программист байдаг л уялдаа холбоо муутай хүснэгт нь нэлээн олон тооны, бас түүвэрлэсэн асуулт / дэд лавлагаа, авсан байж болох юм. Учир нь нэг ширээн дээр нь дээж энгийн бүтцийг ашиглаж болно:

Хүний SELECT * FROM

Энд хүн - Хэрэв та өгөгдлийг татаж авах болгохыг хүсэж байгаа аль нь хүснэгтийн нэр.

Гэвч та олон хүснэгтээс мэдээллийг сонгох хэрэгтэй юм бол стандарт загвар нь нэг нь олон хүснэгт нэгдэх ашиглаж болно.

нэмэлт ширээ аргууд холбох

Хэрэв бид анхан шатны түвшинд ийм бүтэц хэрэглээг авч, бид дээжийг ширээ, тухайлбал шаардагдах тооны холбохын тулд дараах механизмыг ялгаж болно:

  1. Оператор Өвөр нэгдээрэй.
  2. Нэгдэх зүүн буюу, энэ нь хоёр дахь бичлэг арга юм, зүүн Гадаад нэгдээрэй.
  3. Cross нэгдээрэй.
  4. Бүрэн нэгдээрэй.

оператор практикт хүснэгтүүдийг нэгдэх ашиглан та SQL тайлангийн хэрэглээг харгалзан суралцах - Өвөр нэгдээрэй. түүнийг хэрэглэх жишээг дараах байдлаар байх болно:

Хүний SELECT * FROM

Өвөр Su_Person = Pe_ID дээр дэд хэсгийн нэгдэх

Хэл SQL, Өвөр Join оператор нь зөвхөн хоёр буюу түүнээс дээш хүснэгтийг нэгтгэн ашиглаж болно, гэхдээ бас бусад дэд асуулга, маш их мэдээллийн санг захиргааны ажлыг хөнгөвчилж холбох, мөн дүрмийн дагуу, ихээхэн өвөрмөц, нарийн төвөгтэй хайлт бүтэц хэрэгжилтийг түргэтгэх болно нэгдээрэй.

шугамаар хүснэгт шугамын өгөгдлийг хослуулах

Хэрэв бид шугамаар нэг хүснэгт шугам руу угсарсан дэд асуулгуудад нь олон тооны холболт, мэдээлэл авч, та мөн оператор холбоо болон холбооны Бүгдийг нь ашиглаж болно.

Эдгээр байгууламжийг ашиглах зорилго, үр дүнг тэр эцэст нь хүрэх хүсдэг тохируулах хөгжүүлэгч хамаарна.

Тодорхойлолт Өвөр оператор нэгдээрэй

Ихэнх тохиолдолд, оператор Join Өвөр ашиглаж SQL хэл олон хүснэгтүүдийг нэгтгэх. Өвөр SQL-д нэгдээрэй Тодорхойлолт нь зөвхөн мэдээллийн санг ойлгож эхэлж байгаа дундаж программист ойлгоход их амархан байдаг. бид энэ бүтцийн ажлын механизмыг тодорхойлолтыг авч үзэх юм бол бид дараах зургийг авах болно. бүхэлд нь логик оператор боомт, ширээнээс бүрийн асуулгад багтсан байгаа юм л мэдээллийг дээж авах боломжийн талаар барьсан байна.

Бид график тайлбарлах хувьд ажил энэ төрлийн харах юм бол бид SQL Өвөр оператор бүтэц Join авах бөгөөд дараах схемээр харуулсан болно жишээ нь:

Жишээ нь, бид хоёр ширээ, зурагт schematically үзүүлсэн байна. Тэд эргээд оруулга нь өөр өөр тоо байдаг. ширээ бүрт холбоотой талбаруудыг байна. Бид зураг дээр үндэслэн операторын ажлыг тайлбарлах оролдлого бол буцаж үр дүн нь хоёр ширээ, өрөө хоорондоо талбар нь давхцаж байгаа нь бүртгэл нь тогтоосон байх болно. Энгийнээр хэлэхэд, хайлтын Түүний өгөгдөл номер нэг хүснэгтэд байна (хүснэгт тоо хоёр дахь) зөвхөн бүртгэл буцаана.

Өвөр нь синтакс нэгдээрэй

Өмнө дурдсанчлан, оператор Өвөр нэгдээрэй, тухайлбал, түүний синтакс, ер бусын энгийн. нэг дээж дотор хүснэгтийн хоорондын харилцааны байгууллагын санаж, оператор, тухайлбал, програм хангамж SQL-код, нэг мөрөнд заасан байгаа барилгын дараах бүдүүвч диаграммыг ашиглах нь хангалттай байх болно:

  • Өвөр = [хүснэгтийн залгагдаж болох гол чиглэлээр] [холбохын тулд ширээн дээр нь гол чиглэлээр] дээр Join [Хүснэгт нэр].

Энэ мэдэгдэлд харилцаа нь ихэвчлэн хүснэгт түлхүүр юм. Дүрмээр бол, ажилчдын тухай мэдээллийг хадгалж ширээ бүлэгт өмнө нь хүн дэд хэсгийн тодорхойлсон болон ижил төстэй наад зах нь нэг дээд амжилт юм. Тэгэхээр, SQL Өвөр Join оператор, үүний нэг жишээ нь бага зэрэг өмнө нь үзүүлсэн байна харагдах нь ойр авна.

ЖИШЭЭ тодорхойлолт болон аудио дээж хүснэгтийн холболт

Бид хүн ширээ, компанид ажиллаж байгаа бүх ажилчдын тухай мэдээллийг хадгалдаг байна. Зүгээр л хүснэгтийн мастер түлхүүр нь хээрийн болохыг анхаарна - Pe_ID. Зүгээр л үүн дээр болон багцлаад явах болно.

Хоёр дахь хүснэгт задлан хуваах ажилчид ажил нь газрын тухай мэдээллийг хадгалж болно. Тэр нь эргээд Su_Person талбар хүн ширээн-аар холбогдсон байна. Энэ нь юу гэсэн үг вэ? мэдээ схемийн үндсэн дээр хүснэгт "Албан хаагчид" -д рекорд бүрийн ширээний нэгж тэд ажиллаж буй хэлтсийн-ий тухай мэдээлэл байх болно гэж хэлж болно. Энэ холбоо нь бөгөөд оператор Өвөр нэгдээрэй ажиллах болно.

илүү хялбар ашиглах оператор SQL Өвөр нэгдээрэй (нэг эсвэл хоёр ширээ түүнийг хэрэглэх жишээг) гэж үздэг. Хэрэв бид нэг ширээнд жишээг авч, дараа нь бүх их амархан:

Хүний SELECT * FROM

Өвөр Su_Person = Pe_ID дээр дэд хэсгийн нэгдэх

Жишээ нь хоёр ширээ, subquery холбох

Оператор SQL Өвөр үүний жишээ олон хүснэгтүүдээс өгөгдөл энэ зарчим нь бага зэрэг хүндрэл дээр ажиллаж байгаа, дээр дурдсан байдлаар зохион байгуулж болно авахын тулд ашиглах юм, нэгдээрэй. Хоёр хүснэгтийн ажлыг хүндрүүлж байна. Жишээ нь, бид хэлтэс тус бүрийн бүх хэлтэс тухай мэдээллийг хадгалдаг явах хүснэгтийг байна. Энэ хүснэгтэд хэлтэс тоо, ажиллагсдын тоог бүртгэж, мөн хэлтсийн бүрийн дээж мэдээллийн нэрээр нэмж байх ёстой. Ирээдүйд энэ нь та энэ асуудлыг шийдэхийн тулд хоёр аргыг ашиглаж болно гэсэн үнэ цэнэтэй юм.

Эхний арга нь газар хүснэгт дээж холбох явдал юм. дараах байдлаар байж болно, энэ тохиолдолд хүсэлтийг зохион байгуулах:

Хүний аас Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name сонгоно уу

Өвөр Su_Person = Pe_ID дээр дэд хэсгийн нэгдэх

Өвөр Su_Depart = Dep_ID болон Pe_Depart = Dep_ID дээр явах нэгдэх

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

Хүний аас Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name сонгоно уу

Өвөр Su_Person = Pe_ID дээр дэд хэсгийн нэгдэх

Өвөр Su_Depart = Dep_ID болон Pe_Depart = Dep_ID дээр нэгдэх T гэх мэт (Select Dep_ID, Dep_Name, Pe_Depart явах нь)

Энэ нь ийм зохицуулалт нь үргэлж ажлын хүсэлтийг хурдасгаж чадахгүй гэж тэмдэглэх нь зүйтэй юм. Заримдаа энэ нь түр зуурын ширээн руу нэмэлт жишээ мэдээллийг ашиглах (хэмжээ нь хэтэрхий том юм бол) шаардлагатай бөгөөд дараа нь энэ нь гол дээж хосолсон үед тохиолдол байдаг.

ашиглах жишээ Өвөр хүснэгтийн олон тооны авсан дээж нь оператор нэгдээрэй

Барилгын хоорондоо уялдаа холбоотой мэдээлэл ширээ, subqueries дээжний томоохон хэмжээний цогц асуулгуудад ашиглах явдал юм. Эдгээр шаардлага нь SQL Өвөр синтакс нэгдээрэй хангаж чадна. Энэ тохиолдолд оператор ашиглах, жишээ нь олон хадгалах газар нь зөвхөн дээж төвөгтэй байж болох юм, гэхдээ түүвэрлэсэн subqueries нь олон тооны мөн. бетон Жишээ нь, та системийн хүснэгт нь дээж мэдээллийг авч болно (Өвөр SQL мэдэгдэл Join). Жишээ нь - хүснэгтийн 3 - энэ тохиолдолд нэлээд нарийн төвөгтэй бүтэцтэй байх болно.

Энэ тохиолдолд холбогдсон (анхдагч хүснэгт), гурван цаашид танилцуулсан хэд хэдэн өгөгдлийн сонгох нөхцөлд байна.

ашиглаж байгаа үед Өвөр Join оператор илүү төвөгтэй асуулт, цаашид энэ нь танд илүү хурдан гүйцэтгэх, асуудлыг шийдвэрлэх арга замыг хайх ёстой учраас хэрэгжүүлэх болно гэдгийг санах хэрэгтэй.

дүгнэлт

Эцэст нь хэлэхэд, би нэг зүйл хэлмээр байна: өгөгдлийн сангийн хамтран ажилладаг - энэ нь програмчлалын хамгийн хэцүү зүйл биш шүү дээ, тийм болохоор та хүсэж байгаа бол бүр нэг хүн мэдээллийн санг бий болгох мэдлэг олж авах боломжтой байх болно, мөн цаг хугацааны туршид, туршлага хуримтлуулах, та мэргэжлийн түвшинд тэдэнтэй хамтран ажиллах авах .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 mn.delachieve.com. Theme powered by WordPress.