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

MySQL에서 LIKE와 CHAR_LENGTH()를 한 쿼리에 함께 사용하기

WHERE 절에서 LIKE 패턴 매칭과 CHAR_LENGTH() 길이 조건을 AND로 결합하면 두 조건을 모두 만족하는 레코드만 조회할 수 있습니다.

테이블 생성 및 데이터 삽입

mysql> CREATE TABLE DemoTable (
    -> Name VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.49 sec)
mysql> INSERT INTO DemoTable VALUES('Chris Brown');
Query OK, 1 row affected (0.19 sec)
mysql> INSERT INTO DemoTable VALUES('Adam Smith');
Query OK, 1 row affected (0.16 sec)
mysql> INSERT INTO DemoTable VALUES('John Smith');
Query OK, 1 row affected (0.14 sec)
mysql> INSERT INTO DemoTable VALUES('Carol Smith');
Query OK, 1 row affected (0.13 sec)

데이터 조회

mysql> SELECT * FROM DemoTable;
+-------------+
| Name        |
+-------------+
| Chris Brown |
| Adam Smith  |
| John Smith  |
| Carol Smith |
+-------------+
4 rows in set (0.00 sec)

LIKE와 길이 조건 결합

mysql> SELECT * FROM DemoTable
    -> WHERE Name LIKE '%Smith%'
    -> AND CHAR_LENGTH(Name) < 11;
+------------+
| Name       |
+------------+
| Adam Smith |
| John Smith |
+------------+
2 rows in set (0.00 sec)

해설: LIKE '%Smith%'로 'Smith'가 포함된 이름을 찾고, CHAR_LENGTH(Name) < 11로 전체 이름 길이가 10자 이하인 것만 필터링했습니다. 'Chris Brown'(11자)과 'Carol Smith'(11자)는 길이 조건에 걸려 제외됩니다.

  1. MySQL-এ UNION SELECT এবং IN ক্লজ একসাথে ব্যবহার

  2. MySQL-এ একাধিক LIKE অপারেটর একসাথে ব্যবহার করা (OR কন্ডিশন সহ)

  3. MySQL-এ ORDER BY এক্সপ্রেশন ব্যবহার করে ভ্যালু ১০-এর চেয়ে বড় গুলো ASC, ছোট গুলো DESC সর্ট করুন

  4. MySQL-এ UNION ALL এবং INSERT INTO SELECT ব্যবহার করে একক কোয়েরিতে দুটি টেবিলে ডেটা ইনসার্ট করুন