mysql select문 예시

select [destinct] 테이블명 {, 테이블명} * from  필드명 {. 필드명} * [where 검색조건] [order by 필드명 [asc or desc] {, 필드명 [asc or desc]} *] [group by 필드명 {, 필드명} *] [having  검색조건] ;

1. 일반적 검색
mysql>  select name, id  from uncle where level=’a’ ;
=> uncle 테이블에 level이 a인 데이터의 name, id을 보여준다.

mysql>  select * from uncle;
=> uncle 테이블에 있는 모든 데이터를 보여준다.

2. 결과 레코드의 중복 제거
mysql>  select distinct level from uncle;
=> uncle 데이블에 level의 종류가 몇개인지 알수가 있다.

3. 조건검색
mysql>  select name, id from uncle where age > 20 and level = ‘a’;
=> uncle 데이블에 age가 20보다 크고 level 이 a인 name, id을 보여준다.
(검색조건을 표시하는 where절에는 비교연산자 > , >=, <, <=, = 와 논리연산자 and, or, not 을 사용할수 있다.

4. 검색 결과의 정렬
mysql>  select name, id from uncle where age > 20 order by level desc;
=> uncle 데이블에 age가 20보다  큰 name, id을 level 내림차순으로 보여준다.
(asc 는 오름차순, desc는 내림차순 asc나 desc가 없이 order by만 쓴다면 기본값 asc로 설정된다.)

5. 검색 결과에 대한 산술 계산 및 문자열 처리
mysql>  select name, ‘님의 아이디는’, id, ‘입니다.’  from uncle where age > 20 order by level ;
=> uncle 데이블에 age가 20보다  큰 name, id을 level 오림차순으로 보여준다.
결과는 ‘ name 님의 아이디는 id 입니다. ‘ 이렇게 보인다.

mysql>  select name, age+5  from uncle where id = ‘uncle’ ;
=> uncle 데이블에 id가 uncle 인 레코드의 name, 원래 age보다 +5 해서 결과를 보여준다.

6. 그룹함수(group function)를 이용한 검색
mysql>  select count(*)  from uncle where level = ‘a’ ;
=> uncle 데이블에 level 이 a을 만족하는 레코드 결과를 보여준다.
* count(필드명) : 조건을 만족하는 레코드의 개수
* sum(필드명)  : 해당 필드의 합
* min(필드명)    : 해당 필드의 최대값
* max(필드명)  : 해당 필드의 최소값
* avg(필드명)    : 해당 필드의 평균값

7. group by를 이용한 검색
mysql>  select level max(age), min(age), avg(age) from uncle group by level ;
=> uncle 데이블에 level 과 최대 age값, 최소 age값, 평균 age 값을 level 별로 결과를 보여준다.

8. having을 이용한 검색
mysql>  select level max(age), min(age), avg(age) from uncle group by level having level = ‘a’ ;
=> uncle 데이블에 level 과 최대 age값, 최소 age값, 평균 age 값을 level a의 결과만 보여준다.
(having문은 group by에서 지정한 필드에 대한 검색 조건문이다.)

9. between  연산자를 이용한 검색
mysql>  select name, id from uncle where level = ‘a’ and age between 20 and 25 ;
=> uncle 데이블에 age가 20 ~ 25 이고 level 이 a 인 레코드의 name, id 을 보여준다.
* mysql>  select name, id from uncle where level = ‘a’ and age >= 20 and  age <=25 ; 와 같다.

mysql>  select name, id from uncle where level in (‘a’, ‘b’) ;
=> uncle 데이블에 level이 a, b 인 name, id을 보여준다.

mysql>  select name, id from uncle where level not in (‘a’, ‘b’) ;
=> uncle 데이블에 level이 a, b 을 제외한 name, id을 보여준다.

10. like을 이용한 검색
mysql>  select name, id from uncle where name like ‘%용%’ ;
=> uncle 데이블에 name에 ‘용’ 포함되어 있는 name, id을 보여준다.
(‘%용’ 이면 용으로 끝나는 레코드를 ‘용%’이면 용으로 시작하는 레코드를 보여준다.)

11. null 값을 이용한 검색
mysql>  select name, id from uncle where level is null ;
=> uncle 데이블에 level 값이 null 인 name, id을 보여준다.

출처 : http://www.unclecho.com/bbs/board.php?bo_table=mysql&wr_id=7

Advertisements

답글 남기기

아래 항목을 채우거나 오른쪽 아이콘 중 하나를 클릭하여 로그 인 하세요:

WordPress.com 로고

WordPress.com의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Google+ photo

Google+의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Twitter 사진

Twitter의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

Facebook 사진

Facebook의 계정을 사용하여 댓글을 남깁니다. 로그아웃 /  변경 )

w

%s에 연결하는 중