MySQL/ LIKE, IN, BETWEEN
LIKE
-
where문 내에서 특정 패턴을 찾는 연산자로 사용
-
%는 0개 이상의 문자를 의미
-
_는 1개의 문자를 의미
SELECT column1, column2, ...FROM table_nameWHERE columnN LIKE pattern;SELECT *FROM CustomersWHERE CustomersName LIKE 'a%'; // a로 시작하는 문자열SELECT *FROM CustomersWHERE CustomerName LIKE '%a'; // a로 끝나는 문자열SELECT *FROM CustomersWHERE CustomerName LIKE '%or%'; // or를 포함하는 문자열SELECT *FROM CustomersWHERE CustomerName LIKE '_r%'; // 2번째 문자가 r인 문자열SELECT *FROM CustomersWHERE CustomerName LIKE 'a__%'; // a로 시작하고 길이가 3이상인 문자열SELECT *FROM CustomersWHERE CustomerName LIKE 'a%o'; // a로 시작하고 o로 끝나는 문자열SELECT *FROM CustomersWHERE CustomerName NOT LIKE 'a%'; // a로 시작하지 않는 문자열
AVG
- 데이터의 평균 조회
SELECT AVG(column_name)FROM table_nameWHERE condition;SELECT AVG(Price)FROM Products;
IN
- where 문에서 여러 개의 값을 특정할 때 사용
SELECT column_namesFROM table_nameWHERE column_name IN (value1, value2, value3);SELECT column_namesFROM table_nameWHERE column_name IN(SELECT STATEMENT);SELECT * FROM CustomersWHERE Country IN ('Germany', 'France', 'UK');SELECT * FROM CustomersWHERE Country NOT IN ('Germany', 'France', 'UK');SELECT * FROM CustomersWHERE Country IN (SELECT CountryFROM Suppliers);
BETWEEN
-
범위 표현
-
양 끝 값을 포함
SELECT column_namesFROM table_nameWHERE column_name BETWEEN value1 AND value2;SELECT *FROM ProductsWHERE Price BETWEEN 10 AND 20; // Price가 10에서20 사이SELECT *FROM ProductsWHERE Price NOT BETWEEN 10 AND 20; // 10 미만 20 초과SELECT *FROM ProductsWHERE Price BETWEEN 10 AND 20AND CategoryID NOT IN (1, 2, 3);// Price가 10에서 20 사이이고, CategoryID가 1, 2, 3이 아님SELECT *FROM ProductsWHERE ProductName BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'ORDER BY ProductName;/// 문자열에도 적용 가능 (사전순)SELECT *FROM ProductsWHERE ProductName NOT BETWEEN 'Carnarvon Tigers' AND 'Mozzarella di Giovanni'ORDER BY ProductName;SELECT *FROM OrdersWHERE OrderDate BETWEEN '1996-07-01' AND '1996-07-31';// 날짜에도 적용 가능