강좌
클라우드/리눅스에 관한 강좌입니다.
데이터베이스 분류

MySQL강좌49편:select문의 다양한 검색방법들

작성자 정보

  • 관리자 작성
  • 작성일

컨텐츠 정보

본문

MySQL강좌49:select문의 다양한 검색방법들

이외에도 select문을 이용하면 다음과 같이 다양한 검색을 할 수가 있다. 다음은 특정필드의 데이터에 지정한 문자가 포함된 경우만을 조회한 것이다.

 

mysql> select * from testtable where name LIKE "%soo%";

+-----+-------------+----------------------+

| uid | name        | email                |

+-----+-------------+----------------------+

|   0 | ParkSungSoo | sspark@linux.co.kr   |

|   1 | sontaesoo   | shutterbug@orgio.net |

+-----+-------------+----------------------+

2 rows in set (0.00 sec)

 

mysql>

 

위의 예는 name필드값에 ‘soo’라는 문자열이 들어간 데이터들을 모두 조회한 예이다. 그리고 다음은 특정문자열로 시작하는 데이터만을 검색한 예이다.

 

mysql> select name from testtable where name LIKE "park%";

+-------------+

| name        |

+-------------+

| ParkSungSoo |

+-------------+

1 row in set (0.00 sec)

 

mysql>

 

위의 예는 testtable의 전체 데이터 중에 name필드값이 ‘park’이라는 문자열로 시작하는 데이터들만을 검색한 예이다.

 

다음은 이보다 조금 더 복잡한 select문에 대한 예이다.

 

SELECT name, uid, email FROM testtable WHERE savem > 5000 AND sex = 'M'

 

위의 검색은 저축된 돈이 5000원 이상인 남자의 이름과 uid 그리고 email을 출력하는 것이다.

 

SELECT name, uid, savem FROM testtable WHERE savem >= 5000 ORDER BY savem DESC

 

위의 검색은 저축된 돈이 5000원 이상인 사람의 이름과 uid 그리고 저축된 돈을 출력하면서 저축된 돈이 많은 순서대로 정렬하여 출력해준다.

 

SELECT count(*) FROM testtable WHERE sex = 'M'

 

testtable의 데이터중 남자가 몇 명인가를 출력하는 검색이다.

 

SELECT avg(savem) FROM testtable WHERE sex='M'

 

위의 검색은 남자들의 평균저축금액을 출력해준다. 그리고 다음은 다양한 select문의 예들이다. 참고하기 바란다.

 

SELECT uid, max(savem), min(savem), avg(savem) FROM testtable GROUP BY sex
SELECT uid, max(savem), min(savem), avg(savem) FROM testtable GROUP BY sex
SELECT uid, max(savem), min(savem), avg(savem) FROM testtable GROUP BY sex HAVING sex = 'M'
SELECT uid, name, email, savem FROM testtable WHERE sex = 'M' AND savem BETWEEN 1000 AND 2000
SELECT uid, name, email, savem FROM testtable WHERE sex = 'M' AND savem >= 1000 AND savem <= 2000

 

 

관련자료

댓글 0
등록된 댓글이 없습니다.

공지사항


뉴스광장


  • 현재 회원수 :  60,032 명
  • 현재 강좌수 :  35,773 개
  • 현재 접속자 :  209 명