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

MySQL-এ CONCAT() দিয়ে নির্দিষ্ট কলাম মান ও সংশ্লিষ্ট রেকর্ড জোড়া দিয়ে ফিল্টার করা


CONCAT() + HAVING দিয়ে কনক্যাটেনেটেড স্ট্রিং ফিল্টার

MySQL-এ CONCAT() ফাংশন দিয়ে একাধিক কলাম জোড়া দিয়ে একটি স্ট্রিং বানানো এবং HAVING ক্লজ দিয়ে সেই স্ট্রিংয়ে প্যাটার্ন ম্যাচ করা যায়।

টেবিল ও ডেটা

mysql> CREATE TABLE DemoTable (FirstName VARCHAR(100), CountryName VARCHAR(100));
mysql> INSERT INTO DemoTable VALUES('Adam','US'), ('David','AUS'), ('Chris','UK'), ('John','US'), ('Carol','AUS');

সব রেকর্ড

+-----------+-------------+
| FirstName | CountryName |
+-----------+-------------+
| Adam      | US          |
| David     | AUS         |
| Chris     | UK          |
| John      | US          |
| Carol     | AUS         |
+-----------+-------------+

CONCAT + HAVING LIKE

mysql> SELECT CONCAT(FirstName, ' ', CountryName) AS NameWithCountry 
FROM DemoTable 
HAVING NameWithCountry LIKE '%John%';
+-----------------+
| NameWithCountry |
+-----------------+
| John US         |
+-----------------+

ব্যাখ্যা

  • CONCAT(FirstName, ' ', CountryName) — নাম এবং দেশ স্পেস দিয়ে জোড়া দেয়।
  • AS NameWithCountry — এলিয়াস (alias) দিয়ে কলাম নাম দেয়া হয়েছে।
  • HAVING NameWithCountry LIKE '%John%' — কনক্যাটেনেটেড স্ট্রিংয়ে 'John' আছে কিনা চেক করে।

নোট

  • HAVING সাধারণত GROUP BY-এর সাথে ব্যবহৃত হয়, কিন্তু MySQL-এ GROUP BY ছাড়াও HAVING ব্যবহার করা যায় (এক্সটেনশন)।
  • স্ট্যান্ডার্ড SQL-এ WHERE দিয়ে একই কাজ করা যায়: WHERE CONCAT(FirstName, ' ', CountryName) LIKE '%John%'।
  1. MySQL에서 LIKE로 특정 이름(예: Johnson으로 시작) 검색하기

  2. MySQL-এ প্রথম ৩ রোয়ের কলাম মান নির্দিষ্ট মান দিয়ে আপডেট করা

  3. MySQL-এ নির্দিষ্ট মানের চেয়ে বড় মানগুলো সিলেক্ট করা

  4. MySQL-এ কলামের সর্বোচ্চ মান বের করা (Find Maximum Value in a Column)