전체 글 226

기본 01

유저 테이블 생성 CREATE TABLE userTBL ( userID CHAR(8) NOT NULL PRIMARY KEY, --사용자 아이디 userName NVARCHAR2(10) NOT NULL, --이름 birthYear NUMBER(4) NOT NULL, --출생연도 addr NCHAR(2) NOT NULL, --주소 mobile1 CHAR(3), --휴대폰 국번 mobile2 CHAR(8), --휴대폰 나머지 번호 height NUMBER(3),--키 mDate DATE --회원 가입일 ); 회원 구매 테이블 CREATE TABLE buyTBL ( idNum NUMBER(8) NOT NULL PRIMARY KEY,--순번PK userID CHAR(8) NOT NULL, --아이디(FK) pro..

SQL/SQL 연습 2022.11.05

SUB QUERY - SELECT : 연습 문제

사원번호가 7788인 사원과 담당업무가 같은사원 출력 - 사원명 담당 업무 select ename ,job from employee where job = (select job from employee where eno = 7788); 사원번호가 7499 보다 급여가 많은 사원의 사원명 담당업무 급여 select ename ,job,salary from employee where salary > (select salary from employee where eno = 7499); 최소, 최대 급여를 받는 사원명 급여 부서번호 select ename,salary,dno from employee where salary = ((select min(salary) from employee)) or (salary =..

SQL/SQL 연습 2022.11.05

SUB QUERY : 서브 쿼리 SELECT

쿼리문은 일반 적으로 select문 만을 지칭한다 서브 쿼리 (Sub Query) 쿼리문(서브 쿼리) 대체적으로 해석은 서브 쿼리 먼저 한다 서브 쿼리 위치는 select 다음에 또는 from 다음에 오기도 하고 어디서든 위치할 수 있다. 일반적으로는 where 문에 사용 문법 select select_list from table where ex_operator > (select select_list from table where ex_operator); 예제 --메인쿼리 select ename, salary from employee where salary > (select salary from employee --서브쿼리 where ename = '스콧'); 단일행 서브쿼리 다중행 서브 쿼리가 있다 단..

SQL/ORACLE SQL 2022.11.04

JOIN : 연습 문제 2

사원이름과 해당사원을 관리하는 관리차 출력 NULL값은 출력하지 않기 - EQUI select e.ename,e1.ename from employee e , employee e1 where e.manager = e1.eno; - INNER JOIN select e.ename , e1.ename from employee e inner join employee e1 on e.dno = e1.dno where e.manager = e1.eno; 워드 사원보다 입사일이 늦은 사원명 입사일 출력 - 입사일 기준 오름차순 select e.ename,e.hiredate from employee e,employee e1 where e.hiredate < e1.hiredate and e1.ename = '워드' orde..

SQL/SQL 연습 2022.11.04

JOIN : 연습 문제 1

스콧 사원의 이름, 부서 번호, 부서 이름 출력 (내부 조인) select e.ename, e.dno, d.dname from employee e, department d where e.dno=d.dno and e.ename = '스콧'; select e.ename, e.dno, d.dname from employee e inner join department d on e.dno= d.dno where e.ename = '스콧'; 사원명 부서명 지역명 출력 내부 조인 표준, JOIN~ON, JOIN~USING, EQUI 조인 4가지 방법 - 내부 조인 select e.ename,d.dname,d.loc from employee e inner join department d on e.dno = d.dno;..

SQL/SQL 연습 2022.11.04

GROUP BY : 연습 문제

각 부서에 대해서 부서 번호, 사원수, 부서 내의 모든 사원의 평균 급여를 부서별로 오름차 순으로 출력 평균 급여는 반올림한다 select dno 부서번호 ,count(*) 사원수 ,round(avg(salary)) "평균 급여" from employee group by dno order by dno; 각 부서에 대해 부서번호, 부서 이름, 지역명, 사원수, 부서 내의 모든 사원의 평균 급여 출력 평균 급여 반올림 (DECORD 나 CASE 사용 JOIN X) select dno 부서번호, case when dno=10 then '회계' when dno=20 then '연구' when dno=30 then '판매' when dno=40 then '관리' else '대기중' end as 부서명, case ..

SQL/SQL 연습 2022.11.03

JOIN : 조인

JOIN 다른 테이블의 정보를 불러오고자 할 때 여러 개의 테이블에 저장된 데이터를 한꺼번에 조회할 필요성이 있을 경우 교차 곱의 형태로 불러오게 됨 (카디시안 곱) EQUI JOIN : 이퀴조인 내부 조인이라고도 한다 표준은 아니다(오라클에서만 가능) 문법 select table1.column,table2.column from table1,table2 where table1.column1=table2.column2 예제 select * from employee,department where employee.dno = department.dno; select employee.eno,employee.ename,department.dname,employee.dno from employee,department..

SQL/ORACLE SQL 2022.11.03

TABLE CREATE

유저 테이블 생성 CREATE TABLE userTBL ( userID CHAR(8) NOT NULL PRIMARY KEY, --사용자 아이디 userName NVARCHAR2(10) NOT NULL, --이름 birthYear NUMBER(4) NOT NULL, --출생연도 addr NCHAR(2) NOT NULL, --주소 mobile1 CHAR(3), --휴대폰 국번 mobile2 CHAR(8), --휴대폰 나머지 번호 height NUMBER(3),--키 mDate DATE --회원 가입일 ); INSERT INTO usertbl VALUES('LSG','이승기',1987,'서울','011','11111111',182,'2008-8-8'); INSERT INTO usertbl VALUES('KBS..

SQL/SQL 연습 2022.11.02

SELECT 연습 문제 02

관리자가 없는 사원의 이름과 담당 업무 출력 select * from employee where manager is null; 커미션을 받을수있는 사원의 이름과 급여 커미션 출력 >> 급여 커미션 내림차순 select ename , salary , commission from employee where commission is null or commission = 0 order by salary,commission; 이름의 3번째 문자가 '스' 인 모든 사원명 select ename from employee where ename like '__스'; 이름에 '스'와 '아'를 모두 포함하는 사원 select ename from employee where ename like '%스%' and ename li..

SQL/SQL 연습 2022.11.02

DECODE 와 CASE : 조건에 따른 값

DECODE 조건에 따라 다양한 선택 ( if문 ,switch 문과 비슷함 ) 사용법 select decode(컬럼A, 대상B, 출력X, 대상C, 출력Y, 디폴트 출력(defalt)Z) from 테이블이름; 예제 select ename,dno, decode(dno,10,'ACCOUNTING', 20,'RESERCH', 30,'SALES', 40,'OPERRATING', 'DEFALT') as dname from employee order by dno; 한글도 사용 가능 select ename 사원명 ,dno 부서번호, decode(dno,10,'회계', 20,'연구', 30,'판매', 40,'관리', 'DEFALT') as dname from employee order by dno; CASE select..

SQL/ORACLE SQL 2022.11.02