logo

SQL 비교 문자열

이 SQL 섹션에서는 구조적 쿼리 언어에서 두 개 이상의 문자열을 비교하는 방법에 대해 설명합니다.

STRCMP 문자열 함수, LIKE 연산자 및 Equal 연산자를 사용하여 두 개 이상의 문자열을 비교할 수 있습니다.

STRCMP 문자열 함수

STRCMP는 지정된 두 문자열을 비교하여 첫 번째 문자열의 길이가 두 번째 문자열의 길이와 같으면 0을 제공하는 문자열 함수입니다. 첫 번째 문자열의 길이가 두 번째 문자열의 길이보다 길면 함수는 1을 반환하고 그렇지 않으면 -1을 반환합니다.

STRCMP 함수의 구문

 SELECT STRCMP (String_1, String_2); 

STRCMP 문자열 함수의 예

예시 1: 다음 SELECT 쿼리는 JAVATPOINT 및 EXAMPLES 문자열의 길이를 비교합니다.

 SELECT STRCMP ('JAVATPOINT', 'EXAMPLES'); 

산출:

 1 

예 2: 다음 SELECT 쿼리는 STRCMP 함수에 전달되는 두 문장의 길이를 비교합니다.

 SELECT STRCMP ('Website is good', 'javatpoint is good'); 

산출:

 -1 

예시 3: 다음 SELECT 쿼리는 두 도시의 길이를 비교합니다.

 SELECT STRCMP ( 'Delhi', 'Noida'); 

산출:

 0 

LIKE 연산자

LIKE 연산자는 특정 패턴을 필드의 각 행과 일치시키고 일치하는 값을 출력에 반환합니다. 이 연산자는 항상 SQL 문의 WHERE 절과 함께 사용됩니다.

Like 연산자의 구문

 SELECT Column_Name_1, Column_Name_2, Column_Name_3, ……, Column_Name_N FROM Table_Name WHERE Column_Name LIKE Pattern; 

LIKE 연산자의 예

다음 학생 테이블을 살펴보겠습니다.

롤_아니요 이름 도시 나이 백분율 등급
101 아카쉬 델리 18 89 A2
102 바베시 칸푸르 19 93 A1
103 야쉬 델리 이십 89 A2
104 바브나 델리 19 78 지하 1층
105 야틴 러크나우 이십 75 지하 1층
106 이샤카 가지아바드 19 91 C1
107 비벡 고아 이십 80 지하 2층

쿼리 1: 다음 쿼리는 First_Name이 'B' 문자로 시작하는 위 Student 테이블의 학생 기록을 보여줍니다.

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE 'B%'; 

위 쿼리의 출력:

롤_아니요 이름 백분율 등급
102 바베시 93 A1
104 바브나 78 지하 1층

위 출력에서 ​​볼 수 있듯이 테이블에는 이름이 B 문자로 시작하기 때문에 Bhavesh 및 Bhavna 학생의 기록만 포함됩니다.

쿼리 2: 다음 쿼리는 First_Name의 모든 위치에 문자 'a'가 포함된 지정된 Student 테이블의 학생 기록을 보여줍니다.

 SELECT Roll_No, First_Name, Percentage, Grade FROM Student WHERE First_Name LIKE '%a%' ; 

위 쿼리의 출력:

롤_아니요 이름 도시 나이 백분율 등급
101 아카쉬 델리 18 89 A2
102 바베시 칸푸르 19 93 A1
103 야쉬 델리 이십 89 A2
104 바브나 델리 19 78 지하 1층
105 야틴 러크나우 이십 75 지하 1층
106 이샤카 가지아바드 19 91 C1

등호 연산자(=)

주어진 SQL 테이블에서 일치하는 데이터를 표시하는 비교 연산자 유형입니다.

이 연산자는 구조적 쿼리 언어의 데이터베이스 사용자가 많이 사용합니다.

이 연산자는 열 값이 쿼리에 지정된 값과 동일한 경우 데이터베이스 테이블에서 TRUE 행을 반환합니다.

같음 연산자의 구문:

 SELECT * FROM Table_Name WHERE Column_Name = Value; 

등호 연산자의 예

다음 Worker 테이블을 살펴보겠습니다.

작업자_ID 작업자_이름 작업자_도시 근로자_급여 근로자_보너스
101 아누즈 가지아바드 35000 2000
102 투샤르 러크나우 29000 3000
103 비벡 콜카타 35000 2500
104 시밤 고아 22000 3000

다음 쿼리는 Worker_Salary가 35000인 작업자 테이블의 작업자 레코드를 보여줍니다.

 SELECT * FROM Worker WHERE Worker_Salary = 35000; 

산출:

작업자_ID 작업자_이름 작업자_도시 근로자_급여 근로자_보너스
101 아누즈 가지아바드 35000 2000
103 비벡 콜카타 35000 2500