티스토리 뷰
SQL Select문 연습하기
1. emp 테이블에서 사원을 검색합니다.
select *
from emp;
2. distinct 키워드로 emp테이블의 job 컬럼에서 중복되어 출력되는 값을 제거합니다.
select distinct job
from emp;
3. 검색한 사원 중 에서 고용된 날짜가 1982년 이후의 사원의 이름을 검색합니다.
select ename
from emp
where hiredate > '1982-01-01';
4. select 절을 통해 dept 테이블에서 dname이라는 컬렴명을
as 키워드로 부서명이라는 별칭으로,
loc 컬럼명을 부서위치라는 별칭을 사용하여 검색합니다.
select dname as 부서명, loc as 부서위치
from dept;
5. select 절을 통해 ||'-'|| 연결 연산자로
emp 테이블의 empno 컬럼과 ename 컬럼을 연결하여 검색합니다.
select empno || '-' || ename as 명단
from emp;
6. select 절을 통해 emp 테이블의 sal 컬럼에 12를 곱하여서 검색하고
sal 컬럼에 12를곱한 값에 comm 칼럼을 더하여 검색합니다.
select ename, sal, sal*12, sal*12+comm
from emp;
7. where 절의 조건에 의해서 =( ) 이퀄 비교 연산자로
deptno 10 컬럼의 값이 인 컬럼들을 검색합니다.
select empno, ename, deptno
from emp
where deptno=10;
8
-- ⎼where 절의 조건에 의해서 >=( ) 라이트 앵글브래킷 이퀄 비교 연산자로
sal 컬럼의 값이 2000 이상인 칼럼들을 검색합니다.
select empno, ename, sal
from emp
where sal >= 200;
9. where 절의 조건에 의해서 =( ) 이퀄 비교 연산자로
ename 컬럼의 값이 FORD인 컬럼을 검색합니다.
select empno, ename
from emp
where ename = 'FORD';
문자와 날짜 리터럴은 반드시 단일 따옴표(‘) 를 사용하지만 숫자 상수는
단일 따옴표를 사용하지 않아도 됩니다.
문자 리터럴의 경우에는 대소문자를 구별하며 검색시 대문자로 입력한 내용을
소문자로 검색하면 검색이 되지 않습니다.
10. where 절의 조건에 의해서 >= 비교연산자로
hiredate 컬럼의 값이 1982/01/01 이상인 컬럼들을 검색합니다..
select empno, ename, hiredate
from emp
where hiredate >= '1982/01/01';
11. where 절의 조건에 의해서 =( ) 이퀄 비교 연산자로
deptno 컬럼의 값이 10인 컬럼과 job 컬럼의 값이 CLERK 인 컬럼을 검색하고
and 논리연산자로 두 가지 조건을 모두 만족한 컬럼을 검색합니다.
select empno, ename, job, deptno
from emp
where deptno = 10 and job = 'CLERK';
12. where 절의 조건에 의해서 >=( ) 라이트 앵글브래킷 이퀄 비교 연산자로 hiredate 컬럼 의 값이 1982/01/01 이상인 컬럼과 job 컬럼의 값이 MANAGER 인 컬럼을 검색하고 or 논리연산자로 두 가지 조건 중에서 한 가지만 만족하는 컬럼을 검색합니다.
select empno, ename, hiredate
from emp
where hiredate >='1982/01/01' or job = 'MANAGER';
13. where 절의 between 1981/05/05 and 1981/12/31 연산자로
hiredate 컬럼들의 조건 을 검색합니다.
select empno, ename, hiredate
from emp
where hiredate between '1981/05/05' and '1981/12/31';
- between은 이상과 이하일때만 사용하고 초과 미만을 표현할 때는 '<'와 '>'를 사용
14. emp 테이블에서 job MANAGER, SALESMAN, SALESOMAN 이 인 사원의 정보를 검색합니다.
select empno, ename, job
from emp
where job in ('MANAGER','SALESMAN', 'SALESOMAN');
15. emp 테이블에서 사원번호가 7369, 7521, 7698이 아닌 사원의 정보를 검색합니다.
select empno, ename, job
from emp
where empno not in(7369, 7521, 7698);
16. emp 테이블에서 이름이 J문자로 시작하는 사원의 정보를 검색합니다.
select empno, ename, hiredate, sal
from emp
where ename like 'J%';
17. emp 테이블에서 이름이 N문자로 끝나는 사원의 정보를 검색합니다.
select empno, ename, hiredate, sal
from emp
where ename like '%N';
18. emp 테이블에서 이름에서 두 번째 문자가 A 문자인 사원의 정보를 검색합니다.
select empno, ename, hiredate, sal
from emp
where ename like '_A%';
19. emp 테이블에서 이름에 N문자를 포함하는 사원의 정보를 검색합니다.
select empno, ename, hiredate, sal
from emp
where ename like '%N%';
20. emp 테이블에서 comm이 Null인 사원의 정보를 검색합니다.
select empno, ename, job, comm
from emp
where comm is null;
21. emp 테이블에서 영문자인 값을 소문자로 변환하여 검색한다
select empno, ename, hiredate
from emp
where lower(ename) ='ford';
22. emp 테이블에서 영문자인 값을 대문자로 변환하여 검색한다
select empno, ename, hiredate
from emp
where ename =upper('ford');
23. dept 테이블에서 각 단어의 첫번째 문자를 대문자로 나머지 문자는 소문자로 변환하여 검색한다.
select deptno, initcap(dname), initcap(loc)
from dept
where deptno = 10;
24. dept 테이블에서 특정 컬럼을 특정값을 연결한다.
select deptno, dname, concat(deptno, dname) as d_noname
from dept
where deptno = 10;
25. emp 테이블에서 이름을 1번째 글자에서 시작하여 2번째 글자까지만 검색한다
select substr(ename, 1, 2)
from emp;
26. dept 테이블에서 문자열의 길이를 구한다
select deptno, dname, length(dname)
from dept
where deptno = 10;
27. dept 테이블에서 명명된 문자의 위치를 구한다.
select deptno, dname, instr(dname, ’G')
from dept
where deptno = 10;
28. dept LOC 테이블에서 컬럼에서 특정 문자열을 가진 열만 검색한다
select deptno, dname, loc
from dept
where instr(loc,'DALLAS')>0;
29. dept LOC . 테이블에서 컬럼에서 특정 문자열을 가진 열을 제외하고 검색한다
select deptno, dname, loc
from dept
where instr(loc,'DALLAS')<1;
30. dept 테이블에서 왼쪽 문자 자리를 '*'로 채운다.
select deptno, dname, lpad(dname, 15, '*')
from dept
where deptno = 10;
31. dept 테이블에서 오른쪽 문자 자리를 '*'로 채운다
select deptno, dname, rpad(dname, 15, '*')
from dept
where deptno = 10;
32. dept 테이블에서 왼쪽 공백 문자를 지운다.
select deptno, dname, trim(leading ' ' from dname)
from dept
where deptno = 10;
33. dept 테이블에서 특정 문자열을 대체
select deptno, dname, translate(dname, 'NG', 'SO' )
from dept
where deptno = 10;
34. dept 테이블에서 특정 문자열을 대신한다.
select deptno, dname, replace(dname, 'NG', 'SO' )
from dept
where deptno = 10;
이정도가 Select 문의 기초라고 할 수 있는데요.
주석을 달면서 코딩을 했기 때문에 전부 이해는 했습니다.
그래도, 나중에 까먹기 전에 또 봐야 할 것 같습니다.
이렇게 데이터베이스를 다시 공부하니 새로운 것 같습니다..
그리고 항상 공부할 때마다 느끼는 거지만 아직 갈 길이 멀다고 생각합니다.
'IT > 데이터 베이스' 카테고리의 다른 글
[오라클 초심자 -3] SQL문 alter, insert, update, delete, commit, rollback 연습 (0) | 2019.03.20 |
---|---|
[오라클 초심자 -1] 오라클 설치, 오라클 서비스 수동으로 변경하기!(OracleServiceXE, OracleXETNSLISTENER, OracleServiceORCL ) (0) | 2019.03.18 |
- Total
- Today
- Yesterday
- 일상 영어
- 무리뉴
- 축구 영어
- 단어장
- 토트넘
- 오피스
- 스포츠 영어
- 맨유
- 어플 추천
- 어플리케이션
- 손흥민 골
- 솔샤르
- 포체티노 인터뷰
- 손흥민
- 한컴
- 포체티노
- 단어
- 맨체스터 유나이티드
- 축구
- 축구 유튜버
- 영어 공부
- 파워포인트
- 한글
- 영단어
- 산체스
- 엑셀
- 영어 단어
- 앱
- 웹사이트
- 영어
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |