-
[ SQL ] DML 요약 및 연습. 작성 시 주의 사항.PROGRAMMING/SQL 2022. 4. 25. 22:30
하루입니다.
1. SELECT문
- 테이블에서 데이터를 조회한다.
- employees 테이블의 모든 정보를 보고 싶어요.
select * from employees;- employees 테이블에 있는 직원들의 id, 이름, 급여 컬럼을 보고 싶어요.
select employee_id, first_name, salary from employees;- employees 테이블에서 급여가 15000보다 높은 직원들을 조회하고 싶어요.
- where 절에서 조회 조건을 지정한다.
select * from employees where salary > 15000;- employees 테이블에서 급여가 10000 이상이고 department_id가 30인 직원들을 조회하고 싶어요.
- where 절에서 and나 or 논리연산자를 사용해서 2개 이상의 조건식을 지정한다
select * from employees where salary >= 10000 and department_id = 30;- employees 테이블에서 department_id가 60, 70, 80인 직원들을 조회하고 싶어요.
select * from employees where department_id in (60, 70, 80); where department_id = 60 or department_id = 70 or department_id = 80; 를 in으로 표현함.- employees에서 job_id가 'FI'로 시작하는 직원들을 조회하고 싶어요.
- WHERE절에서 like 연산자와 와일드카드('%', '_')로 패턴을 지정한다.
- 값이므로 소문자 대문자 유의하여 적자.
select * from employees where job_id like 'FI%';- 테이블에서 조회된 컬럼에 별칭을 붙이기
- select절에서 컬럼명 뒤에 as를 붙이고 별칭을 지정한다.
- as는 생략할 수 있다.
- 별칭에 공백을 포함한 특수문자가 있는 경우 ""로 감싼다
select first_name 이름, salary as 급여, salary*12 "직원 연봉" from employees;
이런 식으로 뜬다. - 직원 id, 이름, 급여, 고용일을 조회하는데 고용일을 오름차순(예전 날짜부터 나온다)으로 보고 싶어요.
select employee_id, first_name, salary, hire_date from employees order by hire_date asc;2. 데이터 추가하기
- sample_products 테이블에 갤럭시 탭에 대한 번호(시퀀스 값), 카테고리, 이름, 회사, 가격, 할인판매가격, 재고량이 지정된 새로운 정보(행)을 추가하고 싶어요.
insert into sample_products (product_no, product_category, product_name, product_company, product_price, product_discount_price) values (products_seq.nextval, '태블릿', '갤럭시 탭', '삼성전자', 8500000, 8500000, 13);3. 데이터 변경하기
- sample_products 테이블의 갤럭시탭(no.2002) 이름과 가격, 할인판매가격을 바꾸고 싶어요.
update sample_products set product_name = '갤럭시 탭 22', product_price = '100000', product_discount_price = '100000', where product_no = 2002;
SQL 오류 - 열명을 올바르게 지정해 주십시오 ?
어? 틀렸다고? 엉? 어엉? 왜???
정답은 '100000' 뒤에 ,를 붙였기 때문이다. 마지막 값 뒤에는 " , "를 붙이지 않는다. 반점을 붙이면 뒤에 나오는 것도 열이라고 인식하는 건가?
< 정답코드 >
update sample_products set product_name = '갤럭시 탭 22', product_price = '100000', product_discount_price = '100000' where product_no = 2002;
신기한 건 2002번이 없어서 그런가 0개 행이 업데이트되었다고 뜬다.
4. 데이터 삭제하기
- sample_products 테이블의 갤럭시탭(no.2002)을 삭제하고 싶어요.
delete from sample_products where product_no = 2002;
잘못된 정보에 대한 지적은 언제나 환영입니다.
복습 끝!
'PROGRAMMING > SQL' 카테고리의 다른 글
[ SQL ] 오라클 내장함수 2. 단일행함수의 숫자함수, 날짜함수 (0) 2022.04.27 [ SQL ] 오라클 내장함수 1. 단일행함수의 문자함수 (0) 2022.04.25 6. 자바와 SQL의 힘을 합쳐 필드 생성, 레코드 한 개 조회하기 (0) 2022.04.24 5. JDBC가 뭐고 어떻게 사용하나요? (0) 2022.04.22 4. DML이 뭐고 어떻게 사용하나요? [ INSERT, UPDATE, DELETE ] (0) 2022.04.21