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을 보여준다.

블로그 이미지

왕왕왕왕

,