티스토리 뷰
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 LOWER [ UPPER ](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 |
---|