728x90
LIKE 검색
정확한 키워드를 모를 경우 일부만으로 검색하는 방법
와일드카드(%,_)를 사용하여 패턴매칭
%:0~n글자
_: 1글자
LIKE검색은 매칭하기 위해 DMBS에 부담이 많으므로 논리조건자와 중복해서 사용하지 않는게 좋다.
select * from city where name like "K%";
select * from city where name like "%K";
select * from city where name like "%K%";
select * from city where name like "K____";
NULL
NULL이란 해당 컬럼의 값이 없다는 의미를 가진다.
NULL값을 가지고 있는 컬럼을 검색하려면 is NULL
NULL이 아닌 값을 가지고 있는 컬럼을 검색하려면 is not NULL
select Name,LifeExpectancy from country where LifeExpectancy is NULL;
NULL함수
숫자 컬럼을 연산 해야 할 때 NULL을 처리해주는 함수
NULL값이 나오면 다른값으로 대체해서 계산에 문제 없도록 처리
IFNULL/COALESCE 함수 사용
숫자연산/집합함수의 경우는 처리가 내장되어 있다.
직접 함수나 쿼리에 넣는 경우는 NULL함수를 사용해야 한다.
select avg(LifeExpectancy) from country;
select avg(IFNULL(LifeExpectancy,0)) from country;
GROUP BY,HAVING
집합 함수와 같이 사용해 그룹별 연산을 적용한다.
집합 함수(sum,avg,count 등)
Having은 집합연산에 WHERE 조건절 대체로 사용한다.
select CountryCode,count(CountryCode) from city group by CountryCode;
select CountryCode,count(CountryCode) from city group by CountryCode having count(CountryCode)>=70;
728x90
'MySQL' 카테고리의 다른 글
자료형,제약조건 (0) | 2022.11.23 |
---|---|
서브쿼리,집합연산 (0) | 2022.11.22 |
SELECT INTO, INSERT INTO SELECT,CASE WHEN END (0) | 2022.11.18 |
JOIN,ALIAS,VIEW (0) | 2022.11.17 |
SQL DISTINCT 및 논리연산자 (0) | 2022.11.15 |