짧게 DESC라고 사용해도 된다.
EMPLOYEE 테이블의 구조를 확인해보자
desc EMPLOYEE;
SELECT(DISTINCT) 칼럼명(ALIAS)
FROM 테이블명;
예제
select deptno as 부서번호,name as 부서명 from department;
예제: employee 테이블에서 사번과 부서번호를 하나의 칼럼으로 출력
SELECT concat(empno, '-', deptno) AS '사번-부서번호'
FROM employee;
중복되는 행이 출력되는 경우, DISTINCT 키워드로 중복행을 제거
SELECT DISTINCT deptno from employee;
SELECT empno, name
FROM employee
ORDER BY empno, name;
2번째 컬럼을 내림차순으로 정렬하고 싶으면
SELECT empno, name
FROM employee
ORDER BY 1 DESC;
예제: employee 테이블에서 고용일(hiredate)이 1981년 이전의 사우너 이름과 고용일을 출력하시오
SELECT name, hiredate
FROM employee
WHERE hiredate < '1981-01-01';
예제: employee 테이블에서 부서번호가 10 또는 30인 사원이름과 부서번호를 출력하시오
SELECT name, deptno
FROM employee
WHERE deptno in (10, 30);
와일드 카드를 사용하여 특정 문자를 포함한 값에 대한 조건을 처리
%는 0에서부터 여러 개의 문자열을 나타냄
_는 단 하나의 문자를 나타내는 와일드 카드
예제: employee 테이블에서 이름에 'A'가 포함된 사원의 이름(name)과 직업(job)을 출력하시오
SELECT name, job
FROM employee
WHERE name like '%A%';
예제: 이름의 두번째 글자가 'A'인 사람을 찾으시오
SELECT *
FROM employee
WHERE name like '_A%';
UCASE, UPPER
SELECT UPPER('SEoul');
substring
인덱스는 1번부터 시작하며, 3번 인덱스부터 2글자를 가져오기
SELECT SUBSTRING('HAPPY DAY', 3, 2);
LPAD, RPAD
5글자를 맞추는데 5글자가 아니면 '?'로 채우기
SELECT LPAD('hi', 5, '?');
TRIM, LTRIM, RTRIM
CAST 함수의 사용법:
MySQL 타입:
예제
select cast(now() as date);
COUNT, AVG, MIN, SUM ....
예제: employee 테이블에서 부서번호가 30인 직원의 급여 평균과 총합계를 출력
SELECT AVG(salary), SUM(salary)
FROM employee
WHERE deptno = 30;
예제: employee 테이블에서 부서별 직원의 부서번호, 급여 평균과 총합계를 출력
SELECT deptno, AVG(salary), SUM(salary)
FROM employee
GROUP BY deptno;
INSERT INTO 테이블명 (필드1, 필드2, 필드3, 필드4, ...(
VALUES (필드 1의 값, 필드2의 값, 필드3의 값, 필드4의 값, ...)
INSERT INTO 테이블명
VALUES (필드 1의 값, 필드 2의 값, 필드3의 값, 필드 4의 값, ...)
필드명을 생략했을 경우에는 모든 필드 값을 반드시 입력해야 한다.
INSERT INTO ROLE (role_id, description)
VALUES (200, 'CEO');
UPDATE 테이블명
SET 필드1=필드1의 값, 필드2=필드2의 값, 필드3=필드3의 값, ...
WHERE 조건식
조건식을 주지 않으면 전체 로우가 영향을 미치니 조심한다.
예제> ROLE 테이블에 role_id가 200일 경우 description을 'CTO'로 수정하시오.
UPDATE ROLE
SET description = 'CTO'
WHERE role_id = 200;
DELETE
FROM 테이블명
WHERE 조건식