MySQL에서 두 열 연결

Sweety Rupani 2024년2월15일
  1. MySQL에서 CONCAT 함수를 사용하여 열 연결
  2. MySQL에서 CONCAT_WS 함수를 사용하여 열 연결
MySQL에서 두 열 연결

이 기사에서는 MySQL에서 두 열의 데이터를 연결하는 다양한 방법을 보여줍니다. 이 작업은 MySQL 테이블에서 필드를 선택하고 해당 값을 연결한 후 하나의 변수에 값을 저장하여 프로그래밍 방식으로 쉽게 수행할 수 있습니다.

데이터베이스 테이블에서 행을 선택할 때 값을 연결하여 위의 절차를 단순화할 수 있습니다.

이제 간단한 예를 들어 보겠습니다. 데이터베이스에 이름과 성으로 두 개의 별도 열이 있고 두 열의 값을 단일 문자열 전체 이름으로 표시하려는 경우 주어진 두 가지 접근 방식 중 하나를 사용하여 작업을 수행할 수 있습니다. 유사하게, 주소가 데이터베이스에서 여러 열로 분할되고 애플리케이션에서 도시, 주 및 국가를 포함하는 단일 주소로 원하는 경우 CONCAT 기능은 매우 유용할 것입니다.

두 가지 다른 기능을 사용하여 이 작업을 수행할 수 있습니다.

  1. CONCAT 기능 사용
  2. CONCAT_WS 기능 사용

CONCAT()CONCAT_WS() 함수는 둘 이상의 문자열을 연결합니다. 이 두 함수는 CONCAT_WS() 함수가 문자열 사이의 구분 기호와 함께 작동하는 반면 CONCAT() 함수는 구분 기호의 사용을 허용하지 않기 때문에 다릅니다. CONCAT() 함수는 인수 중 하나라도 NULL인 경우 NULL 값을 반환한다는 점에서 이러한 함수 사이에는 또 다른 중요한 차이점이 있습니다. 대조적으로 CONCAT_WS() 함수는 구분 기호가 NULL인 경우에만 NULL 값을 반환합니다.

다음 스크립트는 4개의 열(sid, firstname, lastnameemail)이 있는 student 테이블을 만듭니다.

CREATE TABLE student (sid INT, firstname VARCHAR(20) NOT NULL, lastname VARCHAR(20) NOT NULL, email VARCHAR(55) NOT NULL);

여기에서 데모를 위해 학생 테이블에 샘플 데이터 값을 삽입합니다.

INSERT INTO student 
VALUES (111,'Sim','Marlw','sim.marlw@gmail.com'),
(124,'John','Carl','John.carl@gmail.com'),
(362,'Paul','cohelo','paul.coh@google.com'),
(244,'Lunas','sen','Lonas.sen@max.com');

INSERT INTO student 
VALUES (114,'Jaine','Kora','jaine.kora@abs.com'),
(615,'Roma','Sholy','roma.sh11@yahoo.com'),
(997,'Beaon','shrlon','beatrice.ss22@yahoo.com'),
(332,'Peter','cohelo','peter.coh@google.com');

아래 주어진 쿼리는 학생 테이블의 모든 데이터를 반환합니다.

SELECT * FROM student order by sid; 

mysql에서 두 열 연결 - 예

MySQL에서 CONCAT 함수를 사용하여 열 연결

CONCAT 함수는 여러 열의 값을 단일 열로 연결하거나 결합할 수 있습니다. CONCAT 함수의 구문은 다음과 같습니다.

CONCAT(Column 1, column 2,......)

이제 SELECT 쿼리와 함께 이것을 사용하는 방법을 볼 것입니다.

SELECT sid, CONCAT(firstname, " ", lastname) AS fullname FROM student;

출력은 다음과 같습니다.

mysql에서 두 열 연결 - concat 사용

참고: 원본 테이블은 업데이트되지 않습니다. select 쿼리를 사용하여 프롬프트에 내용을 표시할 수 있습니다.

MySQL에서 CONCAT_WS 함수를 사용하여 열 연결

CONCAT_WS 함수는 여러 열의 값을 단일 열로 연결하거나 결합할 수도 있습니다. 열 값 또는 문자열과 함께 구분 기호를 추가하는 추가 기능이 있습니다. 이 구분 기호는 쉼표(,), 하이픈(-), 밑줄(_) 또는 정적 문자열이나 패턴(***) 등일 수 있습니다. CONCAT_WS 함수의 구문은 다음과 같습니다.

CONCAT_WS(SEPARATOR,Column 1, column 2,......)

이제 SELECT 쿼리와 함께 이것을 사용하는 방법을 볼 것입니다.

SELECT sid, CONCAT_WS( "_", firstname, lastname,"***" ) AS fullname FROM student;

출력은 다음과 같습니다.

mysql에서 두 열 연결 - concat_ws 사용