ᲙომპიუტერებიᲞროგრამირების

Ოპერატორი SQL INNER JOIN: მაგალითები სინტაქსი და თვისებები

განვითარებადი ნებისმიერი მონაცემთა ბაზა მოიცავს არა მხოლოდ შექმნისა და შევსების მაგიდები, სხვადასხვა სახის ინფორმაციის, არამედ შემდგომი მუშაობის მონაცემები. სწორად ასრულებს სხვადასხვა სახის დავალებები არჩევანის მონაცემების მაგიდები და ანგარიშგების, გამოიყენოთ სტანდარტული აირჩიეთ დიზაინი.

მოიტანონ მონაცემების მაგიდები

თუ გავითვალისწინებთ, რომ პრობლემა არჩევანი მონაცემები ან მშენებლობის ანგარიში, შეგიძლიათ განსაზღვროს დონის სირთულის ოპერაცია. როგორც წესი, როდესაც საქმე სერიოზული (მოცულობით) მონაცემთა ბაზები, რომლებიც ჩამოყალიბდა, მაგალითად, ონლაინ მაღაზიებში ან მსხვილი კომპანიების მონაცემების შერჩევა არ შემოიფარგლება მხოლოდ ერთი მაგიდა. როგორც წესი, ნიმუში შეიძლება საკმაოდ დიდი რაოდენობით არა მხოლოდ უკავშირდება მაგიდები, არამედ წყობილი queries / sub-შეკითხვებს, რაც პროგრამისტი, დამოკიდებულია მისი ამოცანა. იყიდება ნიმუში ერთი მაგიდა შეგიძლიათ გამოიყენოთ მარტივი სტრუქტურა:

აირჩიეთ * პირი

სადაც პირი - სახელით მაგიდასთან, საიდანაც გინდათ მონაცემების მოძიება.

თუმცა, თუ თქვენ უნდა აირჩიოთ მონაცემთა მრავალჯერადი მაგიდები, ერთი სტანდარტული დიზაინის შეიძლება გამოყენებულ იქნას შეუერთდება მრავალჯერადი მაგიდები.

დამაკავშირებელი დამატებითი მაგიდები მეთოდები

თუ გავითვალისწინებთ, ამგვარი სტრუქტურების პირველადი დონეზე, ჩვენ შეგვიძლია გამოვყოთ შემდეგი მექანიზმები დაკავშირება საჭირო რაოდენობის ნიმუში მაგიდები, კერძოდ:

  1. ოპერატორი შიდა რეგ.
  2. მარცხენა გაწევრიანება ან, ეს არის მეორე ჩაწერის მეთოდი, მარცხენა Outer რეგ.
  3. Cross რეგ.
  4. სრული რეგ.

გამოყენება ოპერატორები შეუერთდეს მაგიდები პრაქტიკაში, შეგიძლიათ ვისწავლოთ გათვალისწინებით გამოყენება SQL განაცხადი - შიდა რეგ. მაგალითად, მისი გამოყენება იქნება შემდეგნაირად:

აირჩიეთ * პირი

შიდა შეუერთდეს ცალკე on Su_Person = Pe_ID

ენა SQL და რეგ Inner რეგ ოპერატორი შეიძლება გამოყენებულ იქნას არა მხოლოდ აერთიანებს ორი ან მეტი მაგიდები, არამედ დაკავშირება სხვა ქვე-შეკითხვებს, რომელიც მნიშვნელოვნად ამარტივებს მუშაობის ადმინისტრატორები მონაცემთა ბაზა, და, როგორც წესი, შეიძლება მნიშვნელოვნად დააჩქარებს კონკრეტული, რთული შეკითხვის სტრუქტურებში.

აერთიანებს მონაცემების ცხრილები ხაზს

თუ გავითვალისწინებთ დაკავშირებით დიდი რაოდენობით sub-შეკითხვებს, და მონაცემების აწყობილი ერთ მაგიდასთან ხაზს, ასევე, შეგიძლიათ გამოიყენოთ ოპერატორების კავშირი და კავშირის ყველა.

გამოყენება ამ სტრუქტურების იქნება დამოკიდებული დეველოპერი მითითებული მიზნები და შედეგები, რომელიც მას სურს მიაღწიოს ბოლომდე.

აღწერა შიდა რეგ ოპერატორი

უმეტეს შემთხვევაში, აერთიანებს სხვადასხვა მაგიდები SQL ენის მიერ გამოყენებული Inner რეგ ოპერატორი. აღწერა შიდა რეგ SQL არის საკმაოდ ადვილი გასაგებია საშუალო პროგრამისტი, რომელიც მხოლოდ დასაწყისია მესმის ბაზაში. თუ გავითვალისწინებთ აღწერა მექანიზმი მუშაობს ამ სტრუქტურის, მივიღებთ შემდეგ სურათს. ლოგიკა ოპერატორი, როგორც მთელი აგებულია გადაკვეთა და შესაძლებლობა შერჩევის მხოლოდ მონაცემების, რომ თითოეული მაგიდები შედის შეკითხვაზე.

თუ დავაკვირდებით ამ სახის სამუშაო თვალსაზრისით გრაფიკული ინტერპრეტაცია, ვიღებთ SQL Inner რეგ ოპერატორი სტრუქტურა, მაგალითად, რომელიც შეიძლება ნაჩვენები მიერ შემდეგი სქემით:

მაგალითად, ჩვენ გვაქვს ორი მაგიდები, ნაჩვენებია სქემატურად ფიგურა. ისინი, თავის მხრივ, აქვს სხვადასხვა რაოდენობის მასალა. თითოეულ მაგიდები სფეროებში, რომლებიც დაკავშირებული. თუ ჩვენ ვცდილობთ ავუხსნათ მუშაობის ოპერატორი საფუძველზე ნახაზი, დაბრუნდა შედეგი იქნება კომპლექტი ჩანაწერების ორ მაგიდას, სადაც ოთახი ერთმანეთთან სფეროებში ემთხვევა. მარტივად რომ ვთქვათ, შეკითხვაზე ბრუნდება მხოლოდ ის ჩანაწერი (მაგიდის ნომერი ორი), რომლის მონაცემები არის ნომერ მაგიდასთან.

სინტაქსი შიდა რეგ

როგორც აღნიშნული ადრე, ოპერატორი შიდა გაწევრიანება, კერძოდ, მისი სინტაქსი, უჩვეულოდ მარტივია. ორგანიზაციის ურთიერთობები მაგიდები ფარგლებში ერთი ნიმუში იქნება საკმარისი უნდა გვახსოვდეს და გამოიყენოთ შემდეგი სქემატური დიაგრამა მშენებლობა ოპერატორი, რომელიც ინიშნება ერთი ხაზი პროგრამული SQL კოდი, კერძოდ:

  • შიდა რეგ [მაგიდა სახელი] on [გასაღები სფეროში მაგიდასთან, რომელიც დააკავშირებს] = [pluggable გასაღები სფეროში მაგიდასთან].

კომუნიკაციის ამ განცხადებაში ძირითადად გამოიყენება მაგიდები გასაღებები. როგორც წესი, ჯგუფის მაგიდები, რომ ინფორმაციის შესანახად თანამშრომელი, ადრე აღწერილი პირი ცალკე და მინიმუმ ერთი მსგავსი ჩანაწერი. ასე რომ, მიიღოს უფრო ახლოს ოპერატორი SQL Inner გაწევრიანება, მაგალითად, რომელიც უკვე ნაჩვენები ცოტა ხნით ადრე.

მაგალითად აღწერა და კავშირი აუდიო ნიმუში მაგიდა

ჩვენ გვყავს პირი მაგიდა, რომელიც ინახავს ინფორმაციას ყველა მომუშავე კომპანია. უბრალოდ აღვნიშნავთ, რომ სამაგისტრო გასაღები მაგიდა სფეროში - Pe_ID. მხოლოდ მასზე და წავა bundle.

მეორე მაგიდა ცალკე შეინახავს ინფორმაციას ოფისები, სადაც თანამშრომლები მუშაობენ. მან, თავის მხრივ, უკავშირდება მეშვეობით Su_Person სფეროში პირი მაგიდასთან. რას ნიშნავს ეს? მონაცემების საფუძველზე სქემის შეიძლება ითქვას, რომ მაგიდასთან ერთეული თითოეული ჩანაწერის მაგიდა "თანამშრომლები" იქნება ინფორმაცია განყოფილება, სადაც ისინი მუშაობენ. ეს არის ამ საკომუნიკაციო და იმუშავებს ოპერატორი შიდა რეგ.

უფრო ინტუიციური გამოყენება განიხილოს ოპერატორი SQL Inner გაწევრიანება (მაგალითები მისი გამოყენება ერთი ან ორი მაგიდა). თუ გავითვალისწინებთ, მაგალითად, იმავე მაგიდასთან, მაშინ ყველა საკმაოდ მარტივია:

აირჩიეთ * პირი

შიდა შეუერთდეს ცალკე on Su_Person = Pe_ID

მაგალითი დააკავშირებს ორი მაგიდები და subquery

ოპერატორი SQL Inner გაწევრიანება, მაგალითები, რომლებიც გამოყენების ვიღებ მონაცემთა მრავალჯერადი მაგიდები შესაძლებელია აღნიშნული ფორმით, იგი მუშაობს ცოტა გართულება პრინციპი. გართულების ამოცანა ორ მაგიდას. მაგალითად, ჩვენ გვაქვს დატოვება მაგიდა, რომელიც ინახავს ინფორმაციას ყველა დეპარტამენტების თითოეულ დაყოფა. ამ მაგიდასთან ჩაწერილი სამმართველოს ნომერი და თანამშრომელი ნომერი, და უნდა დაერთოს სახელი ნიმუში მონაცემები თითოეული დეპარტამენტის. ვეძებთ წინ, ღირს და განაცხადა, რომ თქვენ შეგიძლიათ გამოიყენოთ ორი მეთოდები ამ პრობლემის მოგვარებას.

პირველი გზა არის დაკავშირება დეპარტამენტის მაგიდა ნიმუში. ორგანიზება მოთხოვნა ამ შემთხვევაში შეიძლება იყოს შემდეგი სახით:

აირჩიეთ Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, Dep_Name პირი

შიდა შეუერთდეს ცალკე on 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 პირი

შიდა შეუერთდეს ცალკე on Su_Person = Pe_ID

შიდა შეუერთდეს (Select Dep_ID, Dep_Name, Pe_Depart ეხლა გამგზავრებას), როგორც T on Su_Depart = Dep_ID და Pe_Depart = Dep_ID

აღსანიშნავია, რომ ასეთი მოწყობა შეიძლება ყოველთვის არ დააჩქაროს მუშაობა მოთხოვნით. ზოგჯერ არის შემთხვევები, როდესაც ეს აუცილებელია, რათა გამოიყენოთ დამატებითი ნიმუში მონაცემები დროებით მაგიდა (თუ მოცულობა არის ძალიან დიდი), და შემდეგ ეს იყო ერთად მთავარი ნიმუში.

მაგალითი გამოყენება შიდა რეგ ოპერატორი ნიმუშების დიდი რაოდენობით მაგიდები

მშენებლობა მოიცავს გამოყენების კომპლექსი queries ნიმუში მნიშვნელოვანი რაოდენობით მონაცემები მაგიდები და subqueries ერთმანეთთან. ეს მოთხოვნები შეიძლება დააკმაყოფილოს SQL Inner რეგ სინტაქსი. გამოყენების მაგალითები ოპერატორი, ამ შემთხვევაში შეიძლება იყოს რთული არა მხოლოდ ნიმუშები ბევრი შენახვის ადგილებში, არამედ დიდი რაოდენობით წყობილი subqueries. კონკრეტული, მაგალითად, თქვენ შეუძლია მონაცემების ნიმუში სისტემის მაგიდები (Inner რეგ SQL განაცხადი). მაგალითი - 3 მაგიდა - ამ შემთხვევაში მოგიწევთ საკმაოდ რთული სტრუქტურა.

ამ შემთხვევაში დაკავშირებულია (ძირითადი ცხრილი) და სამი დამატებითი გააცნო რამდენიმე მონაცემთა შერჩევის პირობები.

გამოყენებისას Inner რეგ ოპერატორი უნდა გვახსოვდეს, რომ უფრო რთული შეკითხვის, აღარ განხორციელდება, ასე რომ თქვენ უნდა ვეძებოთ გზები, რათა უფრო სწრაფად ასრულებს და ამ პრობლემის მოსაგვარებლად.

დასკვნა

და ბოლოს, მინდა ვთქვა ერთი რამ: მუშაობა მონაცემთა ბაზებთან - ეს არ არის ყველაზე რთული რამ პროგრამირებაში, ასე რომ, თუ გსურთ თითოეული პირი შეძლებს ცოდნის აშენება მონაცემთა ბაზა, და დროთა განმავლობაში, მოიპოვოს გამოცდილება, თქვენ მათთან მუშაობა პროფესიონალურ დონეზე .

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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