-- 참고 : 생활코딩 mysql수업
http://www.unclecho.com/bbs/board.php?bo_table=mysql&wr_id=7
간단간단
SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY원하는 행을 필터링 : WHERE
그룹을 묶어서 조회 : GROUP BY
정렬 : ORDER BY
자세히
SELECT [DISTINCT] 필드명, 필드명
FROM 테이블명, 테이블명
WHERE 검색조건 AND/OR 검색조건 LIKE ''/ IN ('조건', '조건')
GROUP BY 필드명, 필드명
HAVING 검색조건 //GROUP BY로 집계한 결과를 사용하고 싶을때
ORDER BY 필드명 ASC/DESC, 필드명 ASC/DESC
LIMIT 시작행, 데이터 뽑을갯수
예제
1. 테이블 전체 출력
SELECT * FROM BOOKS
2. WHERE 조건검색
SELECT * FROM BOOKS WHERE ID=2 ;
SELECT * FROM BOOKS WHERE WRITER='고경희' AND PUBLISH='이지스퍼블리싱' ;
SELECT * FROM BOOKS WHERE WRITER='고경희' OR PUBLISH='이지스퍼블리싱' ;
3. WHERE 조건검색 LIKE/IN구문
SELECT * FROM BOOKS WHERE WRITER LIKE '남%' ;
SELECT * FROM BOOKS WHERE WRITER NOT LIKE '남__' ;
---------------------------------------------------------
SELECT * FROM BOOKS WHERE WRITER IN ('남궁성') ;
SELECT * FROM BOOKS WHERE WRITER IN ('남궁성', 'LIKES>1') ;
--IN은 %이나 _등의 정규식을 사용할 수 없음
4. GROUP BY 그룹으로 묶기
6. ORDER BY 지정된 열을 기준으로 데이터 정렬
SELECT * FROM BOOKS ORDER BY LIKES DESC;
SELECT * FROM BOOKS ORDER BY LIKES DESC, ITIME ASC;
--기본값은 ASC
7. LIMIT 뽑아져나오는 데이터 행의 갯수 지정
SELECT * FROM BOOKS LIMIT 2;
--데이터의 처음부터 2개의 데이터 가져옴
SELECT * FROM BOOKS LIMIT 3,2;
--데이터의3번부터 2개의 데이터 가져옴
--데이터의 맨 처음 인덱스는 0
---------------------------------------------------------
8. 기타
1) 결과 레코드의 중복 제거
SELECT DISTINCT WRITER FROM BOOKS;
--BOOKS테이블에 WRITER가 총 몇명있는지 알 수 있음
2) 문자열 처리
SELECT TITLE,'의 저자는', WRITER, '입니다.' FROM BOOKS;
SELECT TITLE,'의 저자는', WRITER, '입니다.' FROM BOOKS WHERE LIKES>10 ORDER BY TITLE DESC;
3) 검색결과에 대한 산술 계산
SELECT TITLE, LIKES+1 FROM BOOKS WHERE LIKES<10;
4) 그룹함수를 이용한 검색
SELECT COUNT(DISTINCT WRITER) FROM BOOKS;
--그룹함수를 이용해 데이터를 뽑을 수 있다.
COUNT(필드명) : 조건을 만족하는 레코드의 개수
SUM(필드명) : 해당 필드의 합
MIN(필드명) : 해당 필드의 최소값
MAX(필드명) : 해당 필드의 최대값
AVG(필드명) : 해당 필드의 평균값
5) BETWEEN 연산자
SELECT * FROM BOOKS WHERE LIKES BETWEEN 10 AND 20;
LIKES의 값이 10이상 20이하의 값을 보여줌
SELECT * FROM BOOKS WHERE LIKES>=10 AND LIKES <=20과 같음
6) IS NULL / IS NOT NULL
SELECT * FROM BOOKS WHERE TITLE IS NULL;
--BOOKS테이블에 TITLE의 값이 NULL인 데이터를 보여줌
'데이터베이스' 카테고리의 다른 글
[mysql] JOIN (0) | 2016.02.18 |
---|---|
[mysql] index (0) | 2016.02.12 |
[mysql] 데이터 삽입, 수정, 삭제 (0) | 2016.02.02 |
[mysql] 테이블 생성 및 삭제 (0) | 2016.02.02 |
[mysql] 자료형 (0) | 2016.01.31 |