본문 바로가기

자바 웹 개발자가 될거야/DB

[Oracle] 오라클 SQL 문자비교 함수 문법 연습하기

1. employees 테이블로부터 last_name에 ‘a’와 ‘e’가 모두 포함된 사원을 출력하시오.

 

더보기
SELECT last_name
FROM employees
WHERE last_name LIKE '%a%' and last_name LIKE '%e%';

 

2. employees 테이블로부터 job_id가 ‘SA_REP’이거나 ‘ST_CLERK’이면서 salary가 $2,500, $3,500 또는 $7,000가 아닌 모든 사원의 last_name, job_id, salary를 출 력하시오.

 

더보기
SELECT last_name, job_id, salary
FROM employees
WHERE job_id in('SA_REP','ST_CLERK') and salary not in (2500,3500,7000);

 

3. employees 테이블로부터 last_name의 첫 글자가 ‘J’, ‘A’ 또는 ‘M’으로 시작하 는 모든 사원의 last_name과 last_name의 길이를 출력하되, last_name을 기준으 로 오름차순 정렬하시오. 또한 컬럼 제목을 Name과 Length로 출력하시오.

 

더보기
SELECT last_name as "Name", length(last_name) as "Length"
FROM employees
WHERE last_name LIKE 'J%' or last_name LIKE 'A%' or last_name LIKE 'M%'
ORDER BY last_name;

 

SELECT last_name "Name", LENGTH(last_name) "Length"
FROM employees
WHERE substr(last_name, 1, 1) IN ('J', 'M', 'A')
ORDER BY last_name ;

 

4. employees 테이블로부터 다음 조건에 맞는 쿼리구문을 작성하시오.

- 사원들의 last_name과 last_name의 길이 출력

- 컬럼 제목(alias)은 Name과 Length로 출력

- 유저로부터 last_name의 첫 글자를 입력 받아 last_name이 입력 받은 문자로 시작되는 사원만 출력(단, 대소문자 상관없이 정상적으로 결과 출력되어야 함)

- last_name을 기준으로 오름차순 정렬

 

더보기
SELECT last_name as "Name", length(last_name) as "Length"
FROM employees
WHERE last_name LIKE UPPER('&start_letter%')
ORDER BY last_name;

 

- 대체변수 입력하기 위해선 & 문자가 필요하다 !!

- & 뒤에 오는 start_letter는 임의로 정한거다. 이 문자가 입력창에 뜨게 되는 것

- last_name 값들이 첫문자는 대문자로 되어있어서 UPPER 함수 이용했다.