티스토리 뷰

Database/Database

[MySQL] MySQL 기본 함수

NavyGuy 2016. 4. 25. 09:00

MySQL


명령어


정렬

 실행동작

 명령어

 비고

 오름차순 정렬

SELECT column명 FROM table ORDER BY column명(정렬하고싶은); 

 SELECT * FROM emp ORDER BY sal;

내림차순 정렬

SELECT column명 FROM table명ORDER BY column명 DESC;

 SELECT * FROM emp ORDER BY sal DESC; 





함수


그룹함수

 실행동작

 명령어

 비고

 대소문자로 변경

SELECT column명 FROM table명 WHERE LOWERUPPER ](column명) = '검색어';


 사용하는 MySQL은 대소문자 구분없이 검색 되도록 설정이 돼있기 때문에 굳이 lower 함수 사용 안해도 검색이 됨!! 

 SELECT * FROM emp WHERE LOWER(ename) = 'scott' ;

더미 테이블

SELECT 함수 FROM DUAL;

 SELECT SYSDATE() FROM DUAL;

 SELECT LENGTH('Hong') , LENGTH('길동') FROM DUAL;

 오라클기준 ) 

length가 순수한 문자길이 

lengthb가 바이트 길이

 MySQL )

length , char_length

 이어 붙이기

 CONCAT

 SELECT CONCAT( '홍' , '길동' ) FROM DUAL;


 떼어 내기

 SUBSTR

  SELECT SUBSTR( ' abcdef ' , 4 , 3 ) , SUBSTR( 'abcdef ', -4 , 3) FROM DUAL;

 4번째부터 3개 떼어내기 ( def )

 뒤에서 4번째부터 3개 떼어내기 ( cde )

 SELECT SUBSTR( 'abcdef ' , 3 ) , SUBSTR( ' abcdef ' , -2) FROM DAUL;

 3번째부터 전부다 ( cdef )

 뒤에서 2번째부터 전부다 ( ef )

그룹 함수

 테이블의 전체 데이터 ( 혹은 특정 조건을 만족하는 데이터집합)에서 통계적인 결과를 구하는 함수들

그룹함수는 하나이상의 행을 그루브로 묶어 연산하여 하나의 결과를 구함


 null 값은 연산이 불가능하기 때문에 그룹함수 연산에서 열외!!

Ex) SELECT SUM(comm) FROM emp;

comm값을 0으로 간주해서 계산한게 아니라 NULL을 무시함!!

 SUM ( 합 )

 SELECT SUM(sal) AS '급여총액' FROM emp;

 AVG ( 평균 )

  SELECT AVG(sal) AS '급여평균' FROM emp;

 MAX ( 최대 )

  SELECT MAX(sal) AS '최대급여' FROM emp;

 MIN ( 최소 )

  SELECT MIN(sal) AS '최소급여' FROM emp;

 COUNT ( 카운트 )

  SELECT COUNT(comm) FROM emp;

  SELECT COUNT(DISTINCT job) FROM emp;

 DISTINCT ( 중복제거 )

  SELECT DISTINCT job FROM emp; 

GROUP BY

 데이터 그룹 사용하기

특정 컬럼을 기준으로 그룹별로 나누는 방법

  SELECT deptno, COUNT(*), AVG(sal) FROM emp GROUP BY deptno;

 HAVING

 그룹 조건 검사

 SELECT job, MIN(sal) FROM emp GROUP BY job HAVING MIN(sal)>2000 ORDER BY MIN(sal) DESC;



TABLE JOIN


두개의 테이블에서 데이터 조회


 실행동작

 명령어

 비고

 두개의 테이블 데이터조회

SELECT column명 FROM table명 , table명 ;

 SELECT * FROM emp , dept;

두개의 테이블 별명주기

SELECT column명 FROM table명 별명 , table명 별명;

 SELECT * FROM emp e , dept d;

 두개의 테이블 연결

 다양한 문법 >>

 SELECT * FROM emp e , dept d WHERE e.deptno = d.deptno;

 SELECT * FROM emp JOIN dept USING(deptno);

 SELECT * FROM emp e JOIN dept d ON e.deptno = d.deptno;


'Database > Database' 카테고리의 다른 글

로컬캐시와 글로벌캐시  (0) 2023.02.27
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함
Total
Today
Yesterday