자바에 연동해서 데이터 베이스를 쉽게 다룰 수 있는 h2의 sql 기본 문법에 대해 정리해보자
각종 예시는 여러 기업의 정보를 저장한 데이터베이스라고 가정하자.
1. SQL 내의 자료형
CREATE TABLE 테이블이름 (
COLUMN이름 자료형
COLUMN이름 자료형
COLUMN이름 자료형);
예시)
CREATE TABLE EMPLOYEES (
EMPLOYEEID INT,
FIRSTNAME VARCHAR(50),
LASTNAME VARCHAR(50),
DEPARTMENT VARCHAR(50),
SALARY DECIMAL(10, 2));
INSERT INTO 테이블 이름(COLUMN, COLUMN,...)
VALUES
(자료형에 맞는 값, 값, 값, ...)
(자료형에 맞는 값, 값, 값, ...)
(자료형에 맞는 값, 값, 값, ...);
예시)
insert into Employees (EmployeeID, FirstName, LastName, Department, Salary)
values
(1, 'john', 'doe', 'hr', 50000.00),
(2, 'jane', 'smith', 'it', 60000.50),
(3, 'bob', 'johnson', 'finance', 55000.75),
(4, 'alice', 'williams', 'marketing', 48000.25),
(5, 'charlie', 'brown', 'it', 62000.00);
SELECT COLUMN, COLUMN FROM TABLE이름
WHERE 조건
ORDER BY 정렬기준COLUMN 차순:DEFAULT = 오름차순, 아니면 DESC
*여러가지 기법들
-SELECT COLUMN FROM TABLE; => 한 열을 모두 가져옴.
-SELECT * FROM TABLE => 모든 데이터 가져오기
-SELECT COLUMN, COLUMN FROM TABLE => 선택한 칼럼만 가져옴
-SELECT COLUMN FROM TABLE WHERE COLUMN > 500000; => 50만 이상인 값만 가져옴.(조건을 여러개 묶을 때는 OR 또는 AND로 묶어주기 가능)
-SELECT COLUMN FROM TABLE WHERE COLUMN > 500000 ORDER BY COLUMN => 오름
예시)
SELECT * FROM EMPLOYEES WHERE DEPARTMENT = 'hr'; => department가 hr인 직원의 정보를 모두 가져오기
SELECT * FROM COMPANY_TABLE; SELECT * FROM COMPANY_TABLE WHERE TYPE = 'it' AND EMPLOYEE >= 150; SELECT EMPLOYEE FROM COMPANY_TABLE ORDER BY EMPLOYEE
UPDATE TABLE이름 SET COLUMN = 변경할 값 WHERE 조건
예시)
UPDATE EMPLOYEES SET EMPLOYEEID = 95 WHERE FIRSTNAME = 'JOHN';
UPDATE EMPLOYEES SET LASTNAME = 'CHRIS' WHERE FIRSTNAME = 'JOHN';
6.DELETE 문법
DELETE TABLE이름 WHERE 조건;
DELETE EMPLOYEES WHERE EMPLOYEEID >= 5;
DELETE EMPLOYEES WHERE SALARY < 50000.00;
ALTER TABLE TABLE이름
RENAME COLUMN 바꿔줄 칼럼이름 TO 바꿀 칼럼이름;
예시)
ALTER TABLE EMPLOYEES
RENAME COLUMN EEMPLOYEEID TO EMPLOYEEID;
8.GROUP BY 문법
SELELCT 새로운COLUMN, 새로운COLUMN(두 새로운 칼럼은 기존 자료에서 보고자 하는 칼럼을 작성해주는거임) FROM TABLE GROUP BY 기준이 되는 기존 COLUMN
SELECT DEPARTMENT, AVG(SALARY) FROM EMPLOYEES GROUP BY DEPARTMENT ORDER BY AVG(SALARY);
COUNT() : 값의 갯수
SUM() : 값의 총합
AVG() : 값의 평균
MAX() : 최댓값
MIN() : 최솟값
=> 여러 기준들이 존재하니 기준 칼럼에 맞게 사용하기
9. AS 사용법
AVG(SALARY) AS 'ANS'
SELECT나 GROUP BY와 같이 테이블을 출력해주는 쿼리문에서 출력될 칼럼이름을 바꾸고 싶을 때사용하면 됨.
다음글에서는 반복문과 변수 정의 등을 포스팅해봐야지