পাইথনে শৃঙ্খলিত টেবিলের ধারা

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

আসুন আমাদের টেবিলগুলি দেখি। দেশগুলির টেবিল:

countries
id name
1 country1
2 country2

শহরগুলির টেবিল:

cities
id name country_id
1 city1 1
2 city2 1
3 city3 2

ব্যবহারকারীদের টেবিল অপরিবর্তিত থাকবে:

users
id name city_id
1 user1 1
2 user2 1
3 user3 2
4 user4 1
5 user5 3
6 user6 2

কোয়েরি

ব্যবহারকারীদের তাদের শহর এবং দেশসহ পেতে, আমাদের দুটি জয়ইন করতে হবে: প্রথমটি ব্যবহারকারীদের সাথে শহরগুলি যুক্ত করবে, এবং দ্বিতীয়টি - শহরগুলির সাথে দেশগুলি:

sqlSELECT
  users.name,
  cities.name as city_name,
  countries.name as country_name
FROM
  users
LEFT JOIN cities ON cities.id=users.city_id
LEFT JOIN countries ON countries.id=cities.country_id

ব্যবহারিক কাজ

Задание 1

ধরুন পণ্যগুলি একটি নির্দিষ্ট উপবিভাগের অন্তর্গত, এবং উপবিভাগগুলি একটি নির্দিষ্ট বিভাগের অন্তর্গত। সংরক্ষণের কাঠামোটি লিখুন।

Задание 2

একটি কোয়েরি লিখুন, যা পণ্যগুলি, তাদের উপবিভাগ এবং বিভাগসহ নিয়ে আসবে।

Задание 3

একটি কোয়েরি লিখুন, যা উপবিভাগগুলি তাদের বিভাগসহ নিয়ে আসবে।