반응형


LIKE


https://www.w3schools.com/sql/sql_like.asp



LIKE Syntax

SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;


LIKE 구문은 WHERE 절에서 쓰이는데 열에서 특정 패턴을 찾아주는 역할을 한다.


여기서 %는 0개 이상의 패턴을 찾아주고 _는 1개의 패턴을 찾아준다.


이때 MS Access는 _ 대신 ?를 사용한다.


LIKE OperatorDescription
WHERE CustomerName LIKE 'a%'Finds any values that start with "a"
WHERE CustomerName LIKE '%a'Finds any values that end with "a"
WHERE CustomerName LIKE '%or%'Finds any values that have "or" in any position
WHERE CustomerName LIKE '_r%'Finds any values that have "r" in the second position
WHERE CustomerName LIKE 'a_%_%'Finds any values that start with "a" and are at least 3 characters in length
WHERE ContactName LIKE 'a%o'Finds any values that start with "a" and ends with "o"


SELECT * FROM Customers
WHERE CustomerName LIKE 'a%'


Customers 테이블에서 CustomerName가 a로 시작하는 단어가 포함된 것을 출력한다.


SELECT * FROM Customers
WHERE ContactName LIKE 'a%o' AND Country='Mexico'


Customers 테이블에서 ContactName가 a로 시작하고 o로 끝나며 Country가 Mexico인 것을 출력한다.


SELECT * FROM Customers
WHERE City LIKE '_erlin';


Customers 테이블에서 아무 한 단어 + erlin가 포함된 것을 출력한다.



Wildcards


https://www.w3schools.com/sql/sql_wildcards.asp


와일드카드는 LIKE와 함께 쓰이며 문자열 처리를 용이하게 도와준다.


SELECT * FROM Customers
WHERE City LIKE '[bm]%'


Customers 테이블에서 City가 b 또는 m으로 시작하는 단어면 모두 출력한다.


SELECT * FROM Customers
WHERE City LIKE '[a-d]%'
ORDER BY City ASC


Customers 테이블에서 City가 a~d로 시작하는 단어면 모두 CIty 기준으로 오름차순 정렬하여 출력한다.



SELECT * FROM Customers
WHERE City LIKE '[!a-m]%'


Customers 테이블에서 City가 a~m으로 시작하지 않는 단어면 모두 출력한다.



SELECT * FROM Customers
WHERE City LIKE '[!bsp]%';


Customers 테이블에서 City가 b,s,p로 시작하지 않는 단어면 모두 출력한다.






반응형