Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- kotlin
- 상속
- 안드로이드
- java
- 함수
- 답글
- sub query
- 게시판
- Spring
- 버전일치
- 시큐어코딩
- 스타일보험
- java#왕초보
- FIle
- parcel
- SQL
- snowpack
- 숫자
- 코틀린
- webpack
- 오버라이드
- 왕초보
- Spinner
- 쿠키
- degit
- 스프링
- React
- 미니게임
- git
- Android
Archives
- Today
- Total
YSHUSH
SQL이란? 본문
Structured = 구조적인
Query = 질의
Language = 언어
database container들은 table에 담기며 CRUD는 동작의 기본이다.
CRUD : Insert, Delete , Select, Update
이중 Selsect가 동작의 90%를 차지한다.
DB에서 가장 중요한 것은 table 이고 80 - 90%정도를 차지한다.table은 행(row)과 열(colum)로 이루어져 있다.
SQL 에서 문자열 입력할때는 VARCHAR2에 바이트 용량을 입력한다.
문자는 작은따옴표로 감싼다, 영문은 한글자당 1BYTE, 한글은 3BYTE
수업때는 sqldeveloper를 사용했다.
˙ table의 형식
SELECT (값, 컬럼명, 함수, SUB QUERY)
FROM (테이블명, SUB QUERY)
˙sqldeveloper내의 employee테이블을 가지고 연습하기
SELECT * FROM TAB; -- hr계정에 있는 모든 테이블을 볼 수 있는 쿼리
SELECT * FROM employees;
select EMPLOYEE_ID, FIRST_NAME, SALARY
from EMPLOYEES; -- 선택적으로 볼 수 있음
SELECT LAST_NAME, SALARY, SALARY + 300
from EMPLOYEES;
SELECT LAST_NAME, SALARY * 12
from EMPLOYEES;
-- String str = "hello", str1 = "world" str = str + str1
-- str || str1
SELECT FIRST_NAME || ' ' || SALARY
from EMPLOYEES;
-- ALIAS : 별명을 지어주는 것, ALIAS를 묶어줄때는 큰따옴표를 쓴다.
SELECT employee_id AS "사원번호", salary as 월급, first_name 이름
from EMPLOYEES;
-- distinct : 중복행을 삭제
SELECT DISTINCT JOB_ID
FROM EMPLOYEES;
DESC EMPLOYEES; -- DESC는 테이블 명세를 볼 수 있도록 함
-- 과제
SELECT EMPLOYEE_ID, LAST_NAME, SALARY, JOB_ID
FROM EMPLOYEES;
SELECT LAST_NAME, SALARY, SALARY + 300
FROM EMPLOYEES;
SELECT EMPLOYEE_ID, LAST_NAME, SALARY, SALARY * COMMISSION_PCT
FROM EMPLOYEES;
SELECT LAST_NAME AS 이름, SALARY AS 급여
FROM EMPLOYEES;
SELECT LAST_NAME AS NAME, SALARY * 12 AS "ANNUAL SALARY"
FROM EMPLOYEES;
SELECT LAST_NAME, JOB_ID
FROM EMPLOYEES;
SELECT LAST_NAME, 'is a', JOB_ID
FROM EMPLOYEES;
SELECT LAST_NAME, ':', '1 Year salary =', SALARY * 12
FROM EMPLOYEES;
SELECT DISTINCT JOB_ID
FROM EMPLOYEES;
˙연습 예제
-- 문제1) EMPLOYEES Table의 모든 자료를 출력하여라.
SELECT
* FROM employees;
-- 문제2) EMPLOYEES Table의 컬럼들을 모두 출력하라.
DESC employees;
DESC departments;
-- 문제3) EMPLOYEES Table에서 사원 번호, 이름, 급여, 담당업무를 출력하여라.
SELECT employee_id, FISRT_NAME, salary, JOB_ID
FROM employees;
-- 문제4) 모든 종업원의 급여를 $300증가 시키기 위해서 덧셈 연산자를 사용하고 결과에 SALARY+300을 디스플레이 합니다.
SELECT employee_id, salary, salary+300 AS "salary + 300"
FROM employees;
-- 문제5) EMP 테이블에서 사원번호, 이름, 급여, 보너스, 보너스 금액을 출력하여라.
-- (참고로 보너스는 월급 + (월급*커미션))
SELECT employee_id, first_name, salary, NVL(salary * commission_pct, 0) AS 보너스, NVL(commission_pct, 0),
salary + NVL(salary * commission_pct, 0) AS "실제 수령 금액"
FROM employees;
/*
NVL(컬럼명, 컬럼의 값이 NULL인 경우 여기에 설정된 값을 출력)
*/
-- 문제6) EMPLOYEES 테이블에서 LAST_NAME을 이름으로 SALARY을 급여로 출력하여라.
SELECT last_name AS 이름, salary as "급 여"
FROM employees;
-- 문제7) EMPLOYEES 테이블에서 LAST_NAME을 Name으로 SALARY * 12를 Annual Salary(연봉)로 출력하여라
SELECT last_name Name, salary*12 AS "Annual Salary(연봉)"
FROM employees;
-- 문제8) EMPLOYEES 테이블에서 이름과 업무를 연결하여 출력하여라.
SELECT first_name || ' ' || job_id
FROM employees;
-- 문제9) EMPLOYEES 테이블에서 이름과 업무를 “KING is a PRESIDENT” 형식으로 출력하여라.
SELECT first_name || ' is a ' || job_id
FROM employees;
-- 문제10) EMPLOYEES 테이블에서 이름과 연봉을 “KING: 1 Year salary = 60000” 형식으로 출력하여라.
SELECT first_name || ': 1 Year Salary = ' || salary * 12 AS "이름과 연봉"
FROM employees;
-- 문제11) EMPLOYEES 테이블에서 JOB을 모두 출력하라(중복생략).
SELECT DISTINCT job_id
FROM employees;
SELECT DISTINCT department_id
FROM employees;
'Coding > SQL' 카테고리의 다른 글
join (0) | 2022.01.22 |
---|---|
order by, group by 예제 (0) | 2022.01.22 |
정렬(order by)과 통계(count, sum, avg, max, min) (0) | 2022.01.22 |
조건절 예제 (0) | 2022.01.22 |
조건절 (where, in, between, like) (0) | 2022.01.22 |