안녕하세요👻
오늘은 데이터 조작어 DML에 대해서 알아보고 예제를 통해 사용법을 익혀보겠습니다!
SELECT 뒤에 *
를 기술함으로써 나타낼 수 있다.
department 테이블의 모든 데이터를 출력하시오.
mysql> SELECT * FROM department;
SELECT 뒤에 컬럼을 콤마(,)로 구별해서 나열
employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
컬럼에 대한 ALIAS(별칭)을 부여해서 나타내는 컬럼의 HEADING을 변경할 수 있다.
employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
mysql> SELECT empno AS 사번, name AS 이름, job AS 직업 FROM employee;
문자열 결합함수 concat을 사용한다.
employee 테이블에서 사번과 부서번호를 하나의 컬럼으로 출력하시오.
mysql> SELECT concat(empno, '-', deptno) AS '사번-부서번호' FROM employee;
중복되는 행이 출력되는 경우, DISTINCT 키워드로 중복행을 제거한다.
사원 테이블의 부서번호를 중복되지 않게 출력하시오.
mysql> SELECT deptno FROM employee;
mysql> SELECT DISTINCT deptno FROM employee;
employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
단, 이름을 기준으로 오름차순 정렬합니다.
mysql> SELECT empno, name, job, FROM employee ORDER BY name;
ALIAS를 사용하는 경우에는 ORDER BY 뒤에 해당 별칭을 입력해주면 된다.
mysql> SELECT empno AS 사번, name AS 이름, job AS 직업 FROM employee ORDER BY 이름;
명령어 마지막에 DESC 키워드를 입력해주면 내림차순으로 정렬이 가능하다.
employee 테이블에서 직원의 사번(empno), 이름(name), 직업(job)을 출력하시오.
단, 이름을 기준으로 내림차순 정렬합니다.
mysql> SELECT empno, name, job FROM employee ORDER BY name DESC;
이름을 기준 내림차순으로 정렬된 결과를 볼 수 있다!
employee 테이블에서 고용일(hiredate)이 1981년 이전의 사원이름과 고용일을 출력하시오.
mysql> SELECT name, hiredate FROM employee WHERE hiredate < '1981-01-01';
employee 테이블에서 부서번호가 30인 사원이름과 부서번호를 출력하시오.
mysql> SELECT name, depto FROM employee WHERE deptno = 30;
employee 테이블에서 부서번호가 10또는 30인 사원이름과 부서번호를 출력하시오.
mysql> SELECT name, deptno FROM employee WHERE deptno in (10, 30);
employee 테이블에서 이름에 'A'가 포함된 사원의 이름(name)과 직업(job)을 출력하시오.
mysql> SELECT name, job FROM employee WHERE name LIKE '%A%';
소문자를 대문자로 바꿔주는 함수입니다.
mysql> SELECT UPPER('SEoul'), UCASE
대문자를 소문자로 바꿔주는 함수입니다.
mysql> SELECT LOWER('SEoul'), LCASE('seOUL');
문자열을 잘라주는 함수입니다.
mysql> SELECT SUBSTRING('Happy Day', 3,2);
특정 문자로 자릿수를 채워주는 함수입니다.
mysql> SELECT LPAD('hi',5,'?');
mysql> SELECT RPAD('joe',7,'*');
문자열의 공백을 없애주는 함수입니다.
mysql> SELECT TRIM('hi'), TRIM(BOTH'x' FROM 'xxxhixxx');
mysql> SELECT LTRIM(' hello ');
mysql> SELECT RTRIM(' hello ');
절대값을 구하는 함수입니다.
mysql> SELECT ABS(2), ABS(-2);
mysql> SELECT CAST(now() as date);
mysql> SELECT CAST(1-2 as unsigned);
employee 테이블에서 부서번호가 30인 직원의 급여 평균과 총합계를 출력하시오.
mysql> SELECT AVG(salary), SUM(salary)
FROM employee
WHERE deptno = 30;
employee 테이블에서 부서별 직원의 부서번호, 급여 평균과 총합계를 출력하시오.
mysql> SELECT deptno, AVG(salary), SUM(salary)
FROM employee
GROUP BY deptno;
📚Reference
boostcourse - 웹 백엔드