কম্পিউটার টিউটোরিয়াল

একাধিক টেবিল থেকে ডেটা ব্যবহার করে MySQL ভিউ কীভাবে তৈরি করবেন?


MySQL UNION অপারেটর দুটি বা ততোধিক ফলাফল সেট একত্রিত করতে পারে, তাই আমরা UNION অপারেটর ব্যবহার করে একাধিক টেবিল থেকে ডেটা নিয়ে একটি ভিউ তৈরি করতে পারি। এই ধারণা বোঝার জন্য আমরা 'Student_info' এবং 'Student_detail' নামক বেস টেবিল দুটি ব্যবহার করছি যাতে নিম্নলিখিত ডেটা থাকে:

mysql> Select * from Student_info; +------+---------+------------+------------+ | id   | Name    | Address    | Subject    | +------+---------+------------+------------+ | 101  | YashPal | Amritsar   | History    | | 105  | Gaurav  | Chandigarh | Literature | | 125  | Raman   | Shimla     | Computers  | | 130  | Ram     | Jhansi     | Computers  | | 132  | Shyam   | Chandigarh | Economics  | | 133  | Mohan   | Delhi      | Computers  | +------+---------+------------+------------+ 6 rows in set (0.00 sec) mysql> Select * from Student_detail; +-----------+-------------+------------+ | Studentid | StudentName | address    | +-----------+-------------+------------+ |       100 | Gaurav      | Delhi      | |       101 | Raman       | Shimla     | |       103 | Rahul       | Jaipur     | |       104 | Ram         | Chandigarh | |       105 | Mohan       | Chandigarh | +-----------+-------------+------------+ 5 rows in set (0.00 sec)

উদাহরণ

নিচের কোয়েরি উপরের উভয় টেবিল থেকে ডেটা ব্যবহার করে একটি ভিউ তৈরি করবে:

mysql> Create or Replace View Info AS Select StudentName from Student_detail UNION Select Name From Student_info; Query OK, 0 rows affected (0.10 sec) mysql> select * from info; +-------------+ | StudentName | +-------------+ | Gaurav      | | Raman       | | Rahul       | | Ram         |   | Mohan       | | YashPal     | | Shyam       | +-------------+ 7 rows in set (0.00 sec)

উপরোক্ত ফলাফল সেটে উভয় কলামের মানগুলোর সমন্বয় রয়েছে। যদি কোনো মান повтор হয়, তবে এটি ডুপ্লিকেট মানগুলো বাদ দেয়।

আমরা UNION ALL ব্যবহার করে সকল মান, ডুপ্লিকেট সহ সংরক্ষণ করতে পারি নিম্নলিখিত কোয়েরিতে:

mysql> Create or Replace View Info AS Select student name from Student_detail UNION ALL Select Name From Student_info; Query OK, 0 rows affected (0.16 sec) mysql> select * from info; +-------------+ | StudentName | +-------------+ | Gaurav      | | Raman       | | Rahul       | | Ram         | | Mohan       | | YashPal     | | Gaurav      | | Raman       | | Ram         | | Shyam       | | Mohan       | +-------------+ 11 rows in set (0.00 sec)

  1. MySQL-এ VIEW থেকে টেবিল তৈরি করা (CREATE TABLE ... SELECT)

  2. MySQL-এ একাধিক টেবিল থেকে COUNT(*) একসাথে বের করা (DUAL টেবিল ব্যবহার করে)

  3. MySQL에서 VIEW(뷰) 생성하고 조회하기

  4. Python দিয়ে MySQL-এ WHERE ক্লজ ব্যবহার করে শর্তভিত্তিক ডেটা সিলেক্ট করা