MySQL select 구문의 고급검색
프로그래밍/Database 2009. 2. 3. 02:09 |#1. 기본 고급검색
중복된 값은 걸러내고 검색 - distinct
mysql> select distinct fieldname from tablename;
패턴값으로 검색 - LIKE
mysql> select fieldname, fieldname, ... from tablename where fieldname
mysql> LIKE '%value%';
null값 검색 - IS NULL
mysql> select fieldname, fieldname, ... from tablename where fieldname IS NULL;
null값이 아닌 값을 검색 - IS NOT NULL
mysql> select fieldname, fieldname, ... from tablename where fieldname
mysql> IS NOT NULL;
#2. 각종 조건 검색
조건으로 검색 - >, <, =
mysql> select * from tablename where fieldname = value;
mysql> select * from tablename where fieldname > value and fieldname < value;
조건 검색후 정렬 출력 - ASC(작은 값부터 정렬)
mysql> select * from tablename where fieldname > value order by level ASC;
mysql> select * from tablename where fieldname > value and fieldname
mysql> < value order by level ASC;
조건 검색후 정렬 출력 - DESC(큰 값부터 정렬)
mysql> select * from tablename where fieldname > value order by level DESC;
mysql> select * from tablename where fieldname > value and fieldname < value mysql> order by level DESC;
조검 검색후 특정한 문자열과 함께 정렬 출력
mysql> select fieldname, '문자열', fieldname, '문자열', fieldname, '문자열',...
mysql> from tablename where fieldname > value order by fieldname;
- 유의사항 : 위의 order by의 값은 ASC방식으로 출력
조건 검색후 특정한 문자열과 연산식을 더하여 정렬 출력
mysql> select fieldname, fieldname + value, ... from tablename;
mysql> select fieldname, fieldname + value, ... from tablename where fieldname
mysql> = 'value';
- 유의사항 : 실제 레코드의 값은 변경되지 않으며, 출력되는 값만 일시적으로 변경
#3. 함수를 이용한 검색
레코드값의 갯수 검색 - count
mysql> select count(*) from tablename;
mysql> select count(*) from tablename where fieldname = 'value';
레코드값의 평균 검색 - avg
mysql> select avg(fieldname) from tablename;
mysql> select avg(fieldname) from tablename where fieldname = 'value';