Hướng dẫn mysql combine string fields
CONCAT() functionMySQL CONCAT() function is used to add two or more strings. Show
Syntax: CONCAT (string1, string2,…) Arguments:
Syntax Diagram: MySQL Version: 5.6 Pictorial representation of MySQL CONCAT() function Video Presentation: Your browser does not support HTML5 video. Examples: MySQL Concat() FunctionExample of MySQL Concat Function using agrumentsOne argument: mysql> SELECT CONCAT('w3resource'); +----------------------+ | CONCAT('w3resource') | +----------------------+ | w3resource | +----------------------+ 1 row in set (0.00 sec) Two or more arguments: mysql> SELECT CONCAT('w3resource','.','com'); +--------------------------------+ | CONCAT('w3resource','.','com') | +--------------------------------+ | w3resource.com | +--------------------------------+ 1 row in set (0.00 sec) One of the arguments is NULL : mysql> SELECT CONCAT('w3resource','.','com',NULL); +-------------------------------------+ | CONCAT('w3resource','.','com',NULL) | +-------------------------------------+ | NULL | +-------------------------------------+ 1 row in set (0.02 sec) Numeric argument: mysql> SELECT CONCAT(102.33); +----------------+ | CONCAT(102.33) | +----------------+ | 102.33 | +----------------+ 1 row in set (0.00 sec) For quoted strings, concatenation can be performed by placing the strings next to each other : mysql> SELECT 'w3resource' '.' 'com'; +----------------+ | w3resource | +----------------+ | w3resource.com | +----------------+ 1 row in set (0.00 sec) Example of MySQL CONCAT() function on columnsThe following MySQL statement will add values of pub_city column with values of the country column of publisher table placing a '-->' between them. Code:
Sample table: publisher Sample Output: mysql> SELECT CONCAT(pub_city,'--> ',country) -> FROM publisher; +---------------------------------+ | CONCAT(pub_city,'--> ',country) | +---------------------------------+ | New York--> USA | | Mumbai--> India | | Adelaide--> Australia | | London--> UK | | Houstan--> USA | | New York--> USA | | Cambridge--> UK | | New Delhi--> India | +---------------------------------+ 8 rows in set (0.00 sec) MySQL CONCAT using WHERE clauseThe following MySQL statement will add pub_city and country column by a '-->' for those publishers whose concatinated name and country office is 'Ultra Press Inc. London' Code:
Sample table: publisher Sample Output: mysql> SELECT CONCAT(pub_city,'--> ',country) -> FROM publisher -> WHERE CONCAT(pub_name,' ',country_office)="Ultra Press Inc. London"; +---------------------------------+ | CONCAT(pub_city,'--> ',country) | +---------------------------------+ | London--> UK | +---------------------------------+ 1 row in set (0.02 sec) MySQL CONCAT returns NULL if any field contain NULLThe following MySQL statement will add book name and pub_lang column by a '-->' for all the books. Code:
Sample table: book_mast Sample Output: mysql> SELECT CONCAT(book_name,'--> ',pub_lang) -> FROM book_mast; +------------------------------------------------+ | CONCAT(book_name,'--> ',pub_lang) | +------------------------------------------------+ | Introduction to Electrodynamics--> English | | Understanding of Steel Construction--> English | | Guide to Networking--> Hindi | | Transfer of Heat and Mass--> English | | NULL | | Fundamentals of Heat--> German | | Advanced 3d Graphics--> Hindi | | Human Anatomy--> German | | Mental Health Nursing--> English | | Fundamentals of Thermodynamics--> English | | The Experimental Analysis of Cat--> French | | The Nature of World--> English | | Environment a Sustainable Future--> German | | NULL | | Anatomy & Physiology--> Hindi | | Networks and Telecommunications--> French | +------------------------------------------------+ 16 rows in set (0.01 sec) The above output shows that, when the value of any of the two columns mention above is NULL, the output returns NULL, mention by red color. MySQL CONCAT using JOINS and wildcard characterThe following MySQL statement will show the combination of first name and last name and job title for those employees who contains the word Smith to their first and last name combination. Code:
Sample table: employees Sample table: jobs Sample Output: mysql> SELECT CONCAT( first_name, ' ', last_name ) AS "name", job_title -> FROM employees e, jobs j -> WHERE e.job_id = j.job_id -> AND CONCAT( first_name, ' ', last_name ) LIKE '%Smith%'; +---------------+----------------------+ | name | job_title | +---------------+----------------------+ | Lindsey Smith | Sales Representative | | William Smith | Sales Representative | +---------------+----------------------+ 2 rows in set (0.00 sec) PHP Script:
JSP Script
Try the following QueriesWrite a SQL statement to display the publisher city and name according to the group on publisher city. Write a SQL statement to display the publisher city and name and country office with a suitable title for those publishers which country office and publishing city are in the same place. Write a SQL statement to display the publisher name, country office and a maximum number of branches with the suitable title for those publishers who maintain on and above 15 branches worldwide. Sample table : publisher MySQL Online EditorWant to practice more MySQL exercises? Click here to get three hundred plus exercises with solutions. |