SELECT
테이블 내의 원하는 정보를 추출하는 명령어
형식
select 컬럼명 from 테이블 이름 where 조건
테이블 검색하기
![](https://t1.daumcdn.net/cfile/tistory/99D4EE335BE6F28220)
EMP라는 테이블의 데이터가 나오는 것을 볼 수있습니다.
쿼리문에서 * 의 뜻은 모든 컬럼을 의미하는 것 입니다.
그러면 테이블 안에서 empno와 ename 의 데이터만 검색해보겠습니다.
| select empno,ename from emp; | cs |
![](https://t1.daumcdn.net/cfile/tistory/99A1083D5BE6F38026)
empno와 ename의 내용만 나오는 것을 확인할 수 있습니다.
다음은 where 문까지 사용하여 empno가 7777인 행만 검색 해보겠습니다.
| select * from emp where empno=7777; | cs |
![](https://t1.daumcdn.net/cfile/tistory/99DAB54C5BE6F49230)
empno가 7777인 행만 나오는 것을 확인할 수 있습니다.
만약 where 문을 두개 쓰고싶으면 관계연산자(and, or, not )를 쓰고 조건문을 또 써주시면 됩니다.!
BETWEEN
형식
SELECT * FROM 테이블명 WHERE 컬럼명BETWEEN 값 AND 값;
| select * from emp where empno>=7787 and empno <=7888; | cs
|
| select * from emp where empno between 7787 and 7888; | cs |
두개의 쿼리문을 다 사용해 봅시다. 결과가 같은것을 볼 수 있습니다.
![](https://t1.daumcdn.net/cfile/tistory/99728B475BE701FF1C)
![](https://t1.daumcdn.net/cfile/tistory/99F41B475BE701FF21)
보이는 것과 같이 BETWEEN 은 ~이상 ~이하의 값을 조회한다.
여기서 empno는 연속적인 값을 가지는 숫자이다. between은 연속적인 값 밖에 조회하지 못한다.
그럼 연속적인 값이 아닌 이산적인 값을 위해서는 무었을 써야할까?
IN
형식
SELECT * FROM 테이블명 WHERE 컬럼명 IN('데이터','데이터'....);
| select * from emp where job in ('CLARK','MANAGER'); | cs |
| select * from emp where job='CLARK'or job='MANAGER'; | cs |
이 두개의 쿼리문 역시 사용하면 똑같이 나오는 것을 볼 수 있습니다.
![](https://t1.daumcdn.net/cfile/tistory/99DA0B3D5BE8008329)
![](https://t1.daumcdn.net/cfile/tistory/9913553D5BE8008313)
숫자가 아닌 문자일 경우 연속된 값이 아니기 때문에 between 을 사용하지 못하지만
in 을 사용하게되면 좀더 간단하게 찾을 수 있다.
LIKE
형식
SELECT * FROM 테이블명 WHERE 컬럼명 LIKE '문자%';
이번에는 문자열 내용을 검색해 볼꺼다.
| select * from emp where ename like 'A%'; | cs |
![](https://t1.daumcdn.net/cfile/tistory/99822D3A5BE801F40A)
위의 조건은 이름의 맨 앞 글자가 'A'이고, %는 뒤에는 어떤 문자가 있어도 상관이 없다는 말이다.
ORDER BY
형식
SELECT * FROM 테이블 명 ORDER BY 컬럼명 ASCorDESC;
결과물에 영향을 미치지는 않지만 결과가 출력되는 순서를 조절하는 구문이다.
| select * from emp order by empno; | cs |
![](https://t1.daumcdn.net/cfile/tistory/99EC10495BE804CB0D)
보이는 것과 같이 empno를 중심으로 오름차순으로 정렬된 것을 볼수있다.
order by에는 asc(오름차순), desc(내림차순) 가있는데 기본적으로 오름차순으로 정렬이된다.
DISTINCT
형식
SELECT DISTINCT 컬럼명 FROM 테이블 명 ;
중복된 것을 하나만 남기는 명령어입니다.
| select distinct job from emp; | cs |
![](https://t1.daumcdn.net/cfile/tistory/99570C455BE809DF20)
보이는 것 처럼 중복되는 직업을 제외하고 나타내었