কম্পিউটারপ্রোগ্রামিং

এসকিউএল ইনেনার জোট বিবৃতি: উদাহরণ, বাক্য গঠন এবং বৈশিষ্ট্য

কোনও ডেটাবেসের উন্নয়ন কেবলমাত্র বিভিন্ন তথ্য সহ সারণির সৃষ্টি এবং ভরাট নয়, বরং তথ্য সহ আরও কাজ করে। সারণি থেকে তথ্য নির্বাচন এবং রিপোর্ট উৎপাদনের বিভিন্ন কাজের সঠিক কার্যকরণের জন্য, স্ট্যান্ডার্ড নির্বাচন নির্মাণটি ব্যবহার করা হয়।

তথ্য টেবিল থেকে fetches

আপনি তথ্য নির্বাচন বা একটি নির্দিষ্ট প্রতিবেদন নির্মাণের কাজ বিবেচনা করেন, আপনি এই অপারেশন জটিলতার মাত্রা নির্ধারণ করতে পারেন। একটি নিয়ম হিসাবে, গুরুতর (তথ্য পরিমাণের উপর) উপাত্ত, যা গঠিত হয়, উদাহরণস্বরূপ, অনলাইন সঞ্চয় বা বড় কোম্পানীগুলিতে, তথ্য স্যাম্পলিং কেবলমাত্র একটি টেবিলের জন্য সীমাবদ্ধ হবে না। সাধারণভাবে, নমুনাগুলি কেবলমাত্র একত্রিত সারণির মোটামুটি বৃহৎ সংখ্যক হতে পারে, তবে এটি নিযুক্ত টাস্কের উপর ভিত্তি করে নেস্টেড ক্যোয়ারী / প্রেফারাইজার যা প্রোগ্রামার নিজেই তৈরি করে। এক টেবিল থেকে নমুনা জন্য, আপনি সহজ নকশা ব্যবহার করতে পারেন:

ব্যক্তিকে * নির্বাচন করুন

যেখানে ব্যক্তি টেবিলের নাম থেকে ডাটা নির্বাচন করতে হবে।

বিভিন্ন টেবিলের ডাটা নির্বাচন করার প্রয়োজন থাকলে, আপনি কয়েকটি টেবিলের একত্রিত করার জন্য একটি আদর্শ নকশা ব্যবহার করতে পারেন।

অতিরিক্ত সারণি সংযুক্ত করার উপায়

যদি আমরা প্রাথমিক স্তরে এই ধরনের কাঠামোগুলির ব্যবহার বিবেচনা করি, তাহলে নমুনার জন্য প্রয়োজনীয় সংখ্যক সারণি সংযুক্ত করার জন্য আমরা নিম্নোক্ত পদ্ধতিগুলি পার্থক্য করতে পারি, যথা:

  1. অপারেটর ইনার যোগদান
  2. বামে যোগদান করুন বা, এই রেকর্ডিং দ্বিতীয় উপায়, বাম বাইরে যোগদান করুন।
  3. ক্রস যোগদান
  4. সম্পূর্ণ যোগ দিন

অনুশীলনের অপারেটর টেবিলের যোগদান ব্যবহার ব্যবহার করে অপারেটর এসকিউএল - ইনার যোগদান বিবেচনা করে শিখেছি যাবে। এর ব্যবহার একটি উদাহরণ দেখতে হবে:

ব্যক্তিকে * নির্বাচন করুন

Su_Person = Pe_ID- এ অন্তর্নিহিত উপবিভাগ যোগ করুন

এসকিউএল ভাষা এবং যোগদানের সহকারী যোগদানের অপারেটর ব্যবহার করা যাবে না শুধুমাত্র দুই বা তার বেশি টেবিলের সাথে যোগ করা, তবে অন্যান্য subqueries সংযোগ করতে, যা ব্যাপকভাবে ডেটাবেস অ্যাডমিনিস্ট্রেটরদের কাজ সহজতর এবং, একটি নিয়ম হিসাবে, উল্লেখযোগ্যভাবে নির্দিষ্ট কাঠামো ক্যোয়ারী সঞ্চালনের গতি বৃদ্ধি করতে পারে।

সারণিতে সারি দ্বারা ডেটা মিলছে

যদি আপনি একাধিক সংখ্যক subqueries সংযুক্ত করে এবং সারি দ্বারা একক সারণি সারিতে তথ্য একত্রিত করা বিবেচনা করেন, আপনি ইউনিয়ন এবং ইউনিয়ন সমস্ত অপারেটর ব্যবহার করতে পারেন।

এই নকশার প্রয়োগ বিকাশকারীর আগে টাস্ক সেটের উপর নির্ভর করে এবং ফলাফলটি শেষ পর্যন্ত অর্জন করতে চায়।

অপারেটর ইননার এর সাথে যোগদান করুন

বেশিরভাগ ক্ষেত্রে, আপনি এসকিউএলের একাধিক টেবিলে যোগদানের জন্য Inner Join অপারেটর ব্যবহার করেন। ইনবক্সের বর্ণনা এসকিউএল-তে যোগ করা একটি সাধারণ প্রোগ্রামারের জন্য খুবই সহজ, যা কেবলমাত্র ডেটাবেসগুলি বুঝতে শুরু করে। আমরা এই নির্মাণ অপারেশন প্রক্রিয়া বর্ণনা বিবেচনা, আমরা নিম্নলিখিত ছবি পেতে। সম্পূর্ণরূপে অপারেটরটির যুক্তিভিত্তিক কোয়েরির মধ্যে থাকা প্রতিটি ডাটাগুলিতে বিভক্ত এবং শুধুমাত্র স্যাম্পলিং করার সম্ভাবনাকে ভিত্তি করে ক্যোয়ারিতে অন্তর্ভুক্ত করা হয়।

যদি আমরা গ্রাফিকাল ব্যাখ্যার দৃষ্টিকোণ থেকে এই কাজটি বিবেচনা করি, আমরা এসকিউএল ইননার জয়েন্টের গঠন পেতে পারি, যার একটি উদাহরণ নিম্নলিখিত স্কিমের সাহায্যে দেখানো যেতে পারে:

উদাহরণস্বরূপ, আমাদের দুটি টেবিলের আছে, চিত্রটির চিত্রটি চিত্রের মধ্যে দেখানো হয়েছে। তারা, পরিবর্তে, একটি ভিন্ন সংখ্যা রেকর্ড আছে। টেবিলের মধ্যে প্রতিটি ক্ষেত্রগুলি একসঙ্গে যুক্ত করা হয়। যদি আপনি চিত্রটির উপর ভিত্তি করে অপারেটরের কাজটি ব্যাখ্যা করার চেষ্টা করেন, তাহলে ফলাফলটি দুটি টেবিলে রেকর্ডের একটি সেটের আকারে থাকবে, যেখানে সংশ্লিষ্ট ক্ষেত্রের সংখ্যার মিল রয়েছে। সহজভাবে লিখুন, ক্যোয়ারী কেবলমাত্র সেই রেকর্ডগুলি ফেরত পাবে (সারণির দুই নম্বর থেকে), যার ডাটাটি সারণির এক নম্বরের মধ্যে থাকবে

Inner Join অপারেটর এর সিন্ট্যাক্স

যেমন আগে উল্লিখিত, ইননার ইনকর্পোরেটেটর অপারেটর, যথা এটির সিনট্যাক্স, অত্যন্ত সহজ। একটি নমুনা মধ্যে টেবিল মধ্যে লিঙ্ক সংগঠিত করতে, এটি মনে রাখা এবং অপারেটর নির্মাণের জন্য নিম্নলিখিত প্রধান স্কিম ব্যবহার যথেষ্ট হবে, যা প্রোগ্রাম SQL- কোড এক লাইনে লেখা হয়, যথা:

  • ভিতরে [সারণির নাম] যোগ করুন [টেবিল থেকে কী ক্ষেত্র থেকে আমরা সংযোগ করি] = [সংযুক্ত সারণির কী ক্ষেত্র]

এই অপারেটরের যোগাযোগের জন্য, টেবিলের প্রধান কীগুলি ব্যবহার করা হয়। একটি নিয়ম হিসাবে, টেবিলের গোষ্ঠীর কর্মচারীদের সম্পর্কে তথ্য সঞ্চয় করে, পূর্বে বর্ণিত ব্যক্তি এবং সাবডিভিশনের অন্তত একটি অনুরূপ রেকর্ড আছে। সুতরাং, আসুন এসকিউএল ইননার জোন স্টেটমেন্টের একটি ঘনিষ্ঠ দৃষ্টিভঙ্গি, যার একটি উদাহরণ একটু আগে দেখানো হয়েছিল।

একটি সারণী নির্বাচনের সাথে সংযোগের উদাহরণ এবং বিবরণ

আমরা একটি ব্যক্তি টেবিল আছে যে কোম্পানির মধ্যে কাজ সমস্ত কর্মচারীদের তথ্য সঞ্চয়। শুধু মনে রাখবেন এই টেবিলের প্রধান কীটি ক্ষেত্র - Pe_ID। শুধু এটি এবং একটি গুচ্ছ হবে।

দ্বিতীয় সারণি সাবডিভিশন কর্মচারীদের কাজ যেখানে বিভাগের তথ্য সংরক্ষণ করবে। এটি, পরিবর্তে, ব্যক্তি টেবিলের সাথে সু_Person ফিল্ডের সাহায্যে সংযুক্ত করা হয়। এই অর্থ কি? ডেটা স্কিমার উপর ভিত্তি করে, আপনি বলতে পারেন যে কর্মচারী সারণির প্রতিটি এন্ট্রির জন্য ইউনিট সারণীতে যে বিভাগে তারা কাজ করে সে সম্পর্কে তথ্য থাকবে। এই সংযোগের জন্য অন্তর যোগদানের অপারেটর কাজ করবে।

আরও বোধগম্য ব্যবহারের জন্য, এসকিউএল ইননার ইনস্যুরটর অপারেটরটি বিবেচনা করুন (এক এবং দুইটি টেবিলের জন্য তার ব্যবহার)। যদি আমরা একটি টেবিলের জন্য একটি উদাহরণ বিবেচনা, তারপর সবকিছু বেশ সহজ:

ব্যক্তিকে * নির্বাচন করুন

Su_Person = Pe_ID- এ অন্তর্নিহিত উপবিভাগ যোগ করুন

দুটি টেবিল এবং একটি subquery সংযোগের একটি উদাহরণ

এসকিউএল ইননার জোন অপারেটর, যা উপরের পদ্ধতিতে কয়েকটি টেবিলের ডাটা নির্বাচন করতে ব্যবহার করা যেতে পারে, একটি সামান্য আরও জটিল নীতির উপর কাজ করে। দুটি টেবিলের জন্য, আমরা সমস্যা জটিল। উদাহরণস্বরূপ, আমাদের কাছে একটি প্রস্থান সারণী আছে, যা প্রতিটি বিভাগের সকল বিভাগের তথ্য সংরক্ষণ করে। এই সারণিতে, বিভাগের সংখ্যা এবং কর্মচারী সংখ্যা রেকর্ড করা হয় এবং আপনার প্রতিটি বিভাগের নাম দিয়ে ডেটা নমুনার পরিপূরক প্রয়োজন। এগিয়ে দেখ, এটি দুটি পদ্ধতি এই সমস্যা সমাধানের জন্য ব্যবহার করা যেতে পারে উল্লেখ করে যে মূল্য।

প্রথম উপায় হল নমুনা বিভাগের টেবিলে সংযুক্ত করা। এই ক্ষেত্রে, আপনি এই ভাবে প্রশ্নটি সংগঠিত করতে পারেন:

Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, ব্যক্তিকে Dep_Name নির্বাচন করুন

Su_Person = Pe_ID- এ অন্তর্নিহিত উপবিভাগ যোগ করুন

সুবর্ণপাটে = Dep_ID এবং Pe_Depart = Dep_ID- এ যোগদান করুন

সমস্যা সমাধানের দ্বিতীয় পদ্ধতিটি একটি subquery ব্যবহার করা হয় না যা সমস্ত তথ্য, কিন্তু শুধুমাত্র প্রয়োজনীয় বেশী, বিভাগের টেবিল থেকে নির্বাচিত করা হবে। এই, প্রথম পদ্ধতির বিপরীতে, ক্যোয়ারী সময় কমাবে।

Pe_ID, Pe_Name, Su_Id, Su_Name, Dep_ID, ব্যক্তিকে Dep_Name নির্বাচন করুন

Su_Person = Pe_ID- এ অন্তর্নিহিত উপবিভাগ যোগ করুন

ইনার যোগদান (Dep_ID নির্বাচন করুন, Dep_Name, প্রস্থান থেকে Pe_Depart) হিসাবে Su_Depart = Dep_ID এবং Pe_Depart = Dep_ID টি

এটি লক্ষ্য করা যায় যে এই নকশাটি কোয়েরিটি সর্বদা গতিশীল হতে পারে না। কখনও কখনও ক্ষেত্রে যখন অস্থায়ী টেবিলের তথ্য অতিরিক্ত স্যাম্পলিং ব্যবহার করা প্রয়োজন (যদি তাদের ভলিউম খুব বড় হয়), এবং তারপর এটি প্রধান নমুনা সঙ্গে মিলিত হয়।

বৃহত্তর সংখ্যক সারণি থেকে নির্বাচনের জন্য অভ্যন্তরীণ যোগদানের অপারেটর ব্যবহার করার উদাহরণ

জটিল প্রশ্নের জবাবে তথ্যগুলি পুনরুদ্ধারের জন্য একে অপরের সাথে সম্পর্কিত একটি উল্লেখযোগ্য সংখ্যক সারণি এবং উপভোক্তার ব্যবহার করা হয়। এই প্রয়োজনীয়তাগুলি এসকিউএল ইননার সিনট্যাক্স এ যোগ করতে পারে। এই ক্ষেত্রে অপারেটর ব্যবহারের উদাহরণ শুধুমাত্র অনেক তথ্য সংগ্রহস্থল অবস্থান থেকে নমুনা দ্বারা জটিল হতে পারে, কিন্তু নেস্টেড subqueries বৃহৎ সংখ্যক থেকেও। একটি নির্দিষ্ট উদাহরণের জন্য, আপনি সিস্টেমের টেবিলের (নমুনা এসকিউএল অপারেটর যোগদানের) একটি নমুনা নিতে পারেন। একটি উদাহরণ - 3 টেবিল - এই ক্ষেত্রে একটি বরং জটিল কাঠামো থাকবে।

এই ক্ষেত্রে, আরো তিনটি যোগ করা হয় (প্রধান সারণিতে) এবং তথ্য নির্বাচনের জন্য অনেকগুলি শর্তাদি প্রবেশ করা হয়।

অপারেটর ইনার যোগদান ব্যবহার করে, মনে রাখবেন যে আরও জটিল প্রশ্ন, এটি আর বাস্তবায়িত হবে না, তাই এটি আরও দ্রুত সঞ্চালন এবং টাস্ক সমাধান উপায় খুঁজছেন মূল্য।

উপসংহার

শেষ পর্যন্ত, আমি এক জিনিস বলতে চাই: ডাটাবেস সঙ্গে কাজ প্রোগ্রামিং সবচেয়ে কঠিন জিনিস নয়, তাই যদি আপনি ইচ্ছুক সব ইচ্ছুক সবাই উপাত্ত নির্মাণের জ্ঞান মাস্টার করতে পারেন, এবং অবশেষে, অভিজ্ঞতা অর্জন, আপনি একটি পেশাদার স্তরের তাদের সঙ্গে কাজ করতে সক্ষম হবে ।

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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