본문 바로가기

초보자를 위한 SQL 200제/이론 & 예제18

018 문자열의 길이를 출력하기 (LENGTH) 문자열의 길이를 출력하는 방법은 무엇일까 ? LENGTH 함수를 사용 하면 된다. 1. 이름을 출력 하고 그 옆에 이름의 철자 개수를 출력 하기. SELECT ename, LENGTH(ename) FROM emp; ENAME LENGTH(ENAME) ---------- ------------- KING 4 BLAKE 5 CLARK 5 JONES 5 MARTIN 6 ALLEN 5 TURNER 6 JAMES 5 WARD 4 FORD 4 SMITH 5 ENAME LENGTH(ENAME) ---------- ------------- SCOTT 5 ADAMS 5 MILLER 6 14개 행이 선택되었습니다. 2. LENGTH 함수는 문자열의 길이를 출력하는 함수 이다. LENGTH(ename) 을 하면, ename.. 2023. 7. 13.
017 문자에서 특정 철자 추출하기 (SUBSTR) 문자에서 지정된 길이의 문자열을 추출 하려면 어떻게 해야 할까 ? 문자에서 특정 길이의 문자를 추출 하려면, SUBSTR 함수를 사용 하면 된다. 1. SMITH 에서 SMI 만 잘라내서 출력 하기. SELECT SUBSTR ('SMITH',1,3) FROM DUAL; SUB --- SMI 2. SUBSTR 함수는 문자에서 특정 위치의 문자열을 추출 한다. 괄호안에 차례대로, 추출할 문자열, 문자열의 시작 인덱스, 시작 인덱스로 부터 몇 개의 철자를 추출 할지의 숫자 이다. 자바와 다르게, 인덱스는 0번 부터 시작 하지 않고, 1부터 시작 한다. S M I T H 1 2 3 4 5 ---------------------------------------------------------------------.. 2023. 7. 12.
016 대소문자 변환 함수 배우기 (UPPER, LOWER, INITCAP) 철자를 대문자, 소문자로 변환 하여 출력 하려면 어떻게 해야 할까 ? 철자의 대소문자를 변환 하기 위해서, UPPER, LOWER, INITCAP 함수를 사용 한다. 1. 사원 테이블의 이름을 출력할 때, 첫 번째 컬럼은 이름을 대문자로, 두 번째 컬럼은 이름을 소문자로, 세 번째 컬럼은 이름의 첫 번째 철자만 대문자로 하고, 나머지는 소문자로 출력 하기. SELECT UPPER(ename), LOWER(ename), INITCAP(ename) FROM emp; UPPER(ENAME) LOWER(ENAME) INITCAP(ENAME) ---------- ---------- ---------- KING king King BLAKE blake Blake CLARK clark Clark JONES jones .. 2023. 7. 12.
015 논리 연산자 배우기 (AND, OR, NOT) 논리 연산자를 이용해서 WHERE 절에서 여러 개의 조건을 줄 수 있다. 여러 개의 조건은 AND 또는 OR 을 이용 해서 결합 할 수 있다. 1. 직업이 SALESMAN 이고 월급이 1200 이상인 사원들의, 이름, 월급, 직업을 출력 하기. -- 직업이 SALESMAN 이고 월급이 1200 이상인 사원들의, -- 이름, 월급, 직업을 출력 하기. SELECT ename, sal, job FROM emp WHERE job = 'SALESMAN' AND sal >= 1200; ENAME SAL JOB ---------- ---------- --------- MARTIN 1250 SALESMAN ALLEN 1600 SALESMAN TURNER 1500 SALESMAN WARD 1250 SALESMAN WH.. 2023. 7. 12.
014 비교 연산자 배우기 (IN) 여러 개의 리스트 값을 검색 하려면 어떻게 해야할까 ? 여러 개의 리스트 값을 조회 할때는, IN 연산자를 사용 하면 된다. 1. IN 연산자를 사용 하지 않은 경우. 직업이 SALESMAN, ANALYST, MANAGER인 사원들의 이름, 월급, 직업을 출력 하기. SELECT ename, sal, job FROM emp WHERE (job = 'SALESMAN' or job = 'ANALYST' or job = 'MANAGER'); ENAME SAL JOB ---------- ---------- --------- BLAKE 2850 MANAGER CLARK 2450 MANAGER JONES 2975 MANAGER MARTIN 1250 SALESMAN ALLEN 1600 SALESMAN TURNER 1.. 2023. 7. 12.
013 비교 연산자 배우기 (IS NULL) NULL 값을 검색하는 방법이 있다. IS NULL 연산자를 사용 하면 된다. 1. NULL 값은 데이터가 할당되지 않은 상태 또는 알 수 없는 값 이라고도 한다. 알 수 없는 값 이기에, 이퀄 연산자 ( = ) 를 사용 할 수 없다. NULL 값을 검색 하기 위해서는, IS NULL 연산자를 사용 한다. 2. 가령, NULL 값이 아니라고 하더라도, 칼럼명 != NULL 을 사용하는게 가능 할까 ? 불가능 하다. NULL은 위에 말했듯이, 알 수 없는 값 또는 데이터가 할당되지 않은 상태 이므로, 이퀄 연산자를 사용 할 수 없다. 3. 커미션이 NULL 인 사원들의 이름과 커미션을 출력 하기. SELECT ename, comm FROM emp WHERE comm IS NULL; ENAME COMM --.. 2023. 7. 12.
012 비교 연산자 배우기 (LIKE) 문자 패턴이 일치하는 행을 검색 하는 방법. LIKE 연산자를 사용해서, 문자가 일치하는 데이터를 검색 할 수 있다. 1. 이름의 첫 글자가 S로 시작하는 사원들의 이름과 월급 출력 하기. SELECT ename, sal FROM emp WHERE ename LIKE 'S%'; ENAME SAL ---------- ---------- SMITH 800 SCOTT 3000 % 는 와일드 카드 (Wild Card) 라고 한다. 와일드 카드는 이 자리에 어떠한 철자가 오더라도 상관이 없고, 철자의 개수가 몇개가 되더라도 상관이 없다는 의미이다. 참고로, %가 특수문자 %로 사용이 되는 경우는 이퀄 (=) 연산자와 사용 되는 경우 이고, 와일드 카드 %로 사용이 되는 경우는, LIKE 연산자와 사용 되는 경우 .. 2023. 7. 12.
011 비교 연산자 배우기 (BETWEEN AND) 두 값 사이의 값들을 검색하는 방법 이다. BETWEEN AND 비교 연산자를 이용 하면 된다. BETWEEN AND 연산자를 사용 하는 이유 : >=, , < 비교 연산자 보다, 가독성이 좋고, 코드가 심플해진다. 1. 월급이 1000에서 3000 사이인 사원들의 이름과 월급 출력 하기. SELECT ename, sal FROM emp WHERE sal BETWEEN 1000 AND 3000; ENAME SAL ---------- ---------- BLAKE 2850 CLARK 2450 JONES 2975 MARTIN 1250 ALLEN 1600 TURNER 1500 WARD 1250 FORD 3000 SCOTT 3000 ADAMS 1100 MILLER 1300 11개 행이 선택되었습니다. BETWE.. 2023. 7. 12.
010 비교 연산자 배우기 1 (>, <, >=, <=, =, !=, <>, ^=) 비교 연산자를 사용 하여 데이터를 검색 할 수 있다. 조건에 맞는 연산자를 사용해서, 조건에 부합되는, 데이터를 검색 되게 한다. 1. 월급이 1200 이하인 사원들의 이름과 월급, 직업, 부서 번호 출력 하기. SELECT ename, sal, job, deptno FROM emp WHERE sal 크다 = 크거나 같다 2023. 7. 9.