728x90
기본 Select문
------------------------------기본 Select문----------------------------------
--1. * col,col (*은 전체 지정, 아니면 칼럼 이름으로 )
SELECT * FROM EMP;
(EMP 테이블의 전체 칼럼의 데이터를 불러와라)
select empno, ename, job from emp;
(EMP 테이블의 empno, ename, job 칼럼의 데이터를 불러와라)
select * from dept;
(dept 테이블의 전체 칼럼의 데이터를 불러와라)
--2. 산술연산 (+-*/, null)
SELECT sal, SAL*100
FROM EMP;
(EMP테이블의 sal칼럼의 데이터와 sal칼럼의 데이터에 *100을 한 값을 불러와라)
SELECT SAL, COMM, SAL+COMM
from emp;
(EMP테이블의 SAL칼럼, comm칼럼의 데이터와 이를 합친값을 불러와라)
--3. alias as (호출 시 줄임말 alias) =(원래이름 as 줄임말)
SELECT * FROM EMP;
SELECT EMPNO, HIREDATE HDATE, DEPTNO FROM EMP;
SELECT EMPNO as "E NO", HIREDATE AS HDATE, DEPTNO as dno
FROM EMP;
SELECT * FROM EMP;
SELECT * FROM EMP E;
select * from emp AS e; -- 에러
--4. 연결 || SMITH7736 SMITH_7736 (칼럼명||칼럼명-> 데이터를 연결하여 출력)
SELECT EMPNO, ENAME
, ENAME||EMPNO nano (ex.SMITH7736)
, ENAME||'-'||EMPNO as nano2 (ex.SMITH-7736)
FROM EMP;
--5. DISTINCT 유니크하게 딱 한번씩만 출력
SELECT DEPTNO FROM EMP;
SELECT DISTINCT DEPTNO FROM EMP;
SELECT JOB FROM EMP;
select distinct job from emp;
select distinct job, distinct deptno from emp; --에러
SELECT DISTINCT JOB, DEPTNO FROM EMP; (한 번에 지정해야함)
--6. desc describe (테이블의 칼럼들의 형식 정보(타입, Null유/무)
DESC EMP;
DESCRIBE EMP;
SELECT 제한 조건 (Where)
-- select : 제한 조건(where)
--1. =(문자열,날짜), <=, <> != BETWEEN, IN(NOT IN), LIKE, IS NULL(IS NOT NULL)
--10번 부서 사람만 출력
SELECT *
FROM EMP
WHERE DEPTNO=10;
--직업이 CLERK인 사람만 출력
SELECT *
FROM EMP
where job = 'CLERK';
--2. AND, OR, (우선순위) NOT
-- 직업(job)이 CLERK이면서 급여(sal)가 1000 이상인 사람
SELECT *
FROM EMP
WHERE SAL >= 1000 and
job = 'CLERK';
-- 직업(job)이 CLERK이면서 급여(sal)가 1000 이상이거나
-- 또는 직업이 MANAGER인 사람
SELECT *
FROM EMP
WHERE (JOB = 'CLERK' AND SAL >= 1000)
or (job = 'MANAGER');
--직업이 MANAGER가 아닌 사람
SELECT *
FROM EMP
WHERE
(JOB != 'MANAGER' AND
JOB !='CLERK' AND
job !='CLERK')
OR
(JOB !='CLERK'AND
JOB !='CLERK')
;
SELECT *
FROM EMP
where job <> 'MANAGER';
SELECT *
FROM EMP
WHERE job NOT IN ('MANAGER','CLERK');
--직업이 MANAGER 이거나 CLERK인 사람
SELECT *
FROM EMP
where job in ('MANAGER','CLERK');
--where job='MANAGER' or job='CLERK';
--직업이 MANAGER가 아니거나 CLERK이 아닌 사람
SELECT *
FROM EMP
where job not in ('MANAGER','CLERK');
--where job!='MANAGER' and job!='CLERK';
--where job<>'MANAGER' and job<>'CLERK';
-- 급여가 1000이상 2000이하인 사람
select *
FROM EMP
WHERE SAL BETWEEN 1000 AND 2000;
--where sal>=1000 and sal<=2000;
--------------------------is null, is not null (Null은 =가 아닌 is로)
-- 커미션을 받는 사람
SELECT *
FROM EMP
WHERE COMM IS NOT NULL AND COMM > 0;
-- 커미션을 받지 않는 사람
SELECT *
FROM EMP
where comm is null or comm=0;
------------------------------like '%' (특정 문자로 시작 or 끝 or 포함)
--이름이 A로 시작하는 사람
SELECT *
FROM EMP
WHERE ENAME LIKE 'A%';
--이름의 두번째 글자에 A가 들어간 사람
SELECT *
FROM EMP
where ename like '_A%';
--이름의 끝에 S가 들어간 사람
SELECT *
FROM EMP
WHERE ENAME LIKE '%S';
--이름에 LA가 들어간 사람
SELECT *
FROM EMP
WHERE ENAME LIKE '%LA%';
정렬 ORDER BY (ASC, DESC)
------------------------------(오름차순, 내림차순 정렬)--
--3. ORDER BY ASC DESC ALIAS, (SAL ASC, NAME DESC)
--급여를 많이 받는 사람 순으로 출력
SELECT * FROM EMP
order by sal desc;
--급여를 적게 받는 사람 순으로 출력
SELECT * FROM EMP
order by sal asc;
SELECT * FROM EMP
order by sal;
-- 부서별 오름차순, 급여가 높은순 출력
SELECT * FROM EMP
ORDER BY
DEPTNO ASC,
sal desc;
-- 연봉(sal*12)이 높은 순 출력
SELECT SAL*12 as ann
FROM EMP
ORDER BY SAL*12 DESC;
SELECT SAL*12 as ann
FROM EMP
order by ann desc;
'SQL' 카테고리의 다른 글
(SQL 문법) 집합 연산 (0) | 2022.01.05 |
---|---|
(SQL 문법) 서브 쿼리 (단일행, 다중행) (0) | 2022.01.05 |
(SQL 문법) JOIN (0) | 2022.01.05 |
(SQL 문법) SQL 함수 (그룹 함수) (0) | 2022.01.05 |
(SQL 문법) SQL 함수 (단일행 함수) (0) | 2022.01.05 |
댓글