코드 설명 : 컬럼이 전체이고 테이블이 employee 에서
컬럼에 조건이 dno라는 이름의(부서번호) 10인 것만 추출하여라
코드 설명 : 전체 테이블의 정보를 다가져오고
WHERE 의 ename 중 ename 가 SCOTT 인사람의 데이터를 가져와라
문자면 ""를 사용하여 데이터를 추출하고
숫자면 ""가 없이 데이터를 추출한다.
날짜 상수 역시 문자 상수와 마찬가지로 작은따옴표로 묶어 주어야 한다.
오라클에서 사용가능한 논리 연산자 AND나 OR나 NOT가 있습니다.
다음은 10번 부서 소속인 사원(dno=10)들 중에서 직급이 MANAGER인 사원(job='MANAGER')을 검색하기 위해서 AND 연산자를 사용한 예입니다.
다음은 10번 부서에 소속된 사원(dno=10)이거나 직급이 MANAGER인 사원(job='MANAGER')을 검색하기 위해서 OR 연산자를 사용한 예입니다.
다음은 NOT 연산자가 논리값에 의해서 어떤 결과가 출력되는지를 나타내는 표입니다.
10번 부서에 소속된 사원만 제외하고 나머지 사원의 정보를 출력하려면 부서번호가 10번인 사원을 조회하기 위한 조건 앞에 NOT을 붙이면 됩니다.
BETWEEN AND 연산자는 특정 칼럼의 데이터 값이 하한값(A)와 상한값(B) 사이에 포함되는 로우를 검색하기 위한 연산자입니다.
다음은 BETWEEN AND 연산자를 사용하여 급여가 1000에서 1500 사이인 사원을 출력한 예입니다.
IN 연산자는 특정 칼럼의 값이 A, B, C 중에 하나라도 일치하면 참이 되는 연산자입니다.
다음은 커미션이 300이거나 500이거나 1400인 사원을 검색하기 위해서 IN 연산자를 사용한 예입니다.
LIKE 연산자는 칼럼에 저장된 문자상수 중에서 LIKE 연산자에서 지정한 문자패턴과 부분적으로 일치하면 참이 되는 연산자로 이 씨 성을 갖는 사람을 찾거나 거주지가 서울인 사람을 찾는 것과 같이 칼럼에 저장된 데이터의 일부만 일치하더라도 조회가 가능하도록 하기 위해서 사용합니다.
라이크연산자의 pattern 은 와일드카드가 적용되며,
pattern에는 두 가지 와일드카드가 사용되며 이 와일드카드 덕분에 임의의 문자 또는 문자열을 포함한 값을 찾을 수 있습니다.
사원 테이블 중 F로 시작 하는 이름을 갖는 사원을 검색하기 해서는 검색하고자 하는 값을 정확히 모를 경우 즉, 특정 문자 포함되기만 하고 그 이전이나 이후에 어떤 문자가 몇 개가 오든지 상관없다는 의미를 표현하기 위해서는 LIKE 연산자와 함께 ‘%’를 사용해야 합니다.
'_’ 기호는 단 한 문자에 대해서만 와일드카드 역할을 하기 때문에 ‘_’를 기술한 위치에 어떤 문자가 오든 상관없다는 의미로 사용됩니다. 그렇기 때문에 ‘_’ 기호는 사용되는 위치와 순서에 중요합니다.
어떤 컬럼을 NULL 즉, 모르는 값과 같다(=)라는 것은 의미상으로 말이 되지 않기 때문에 = 대신 IS NULL 연산자를 사용해야 합니다.
IS NULL 연산자 역시 조건절에 사용되면 대상 컬럼과 연산자, 비교할 값 세부분으로 구성되어야 합니다.
칼럼이 NULL 아닌 자료만 추출하면 되므로 IS NOT NULL 연산자를 사용하면 됩니다.
오름차순(ascending) 정렬 방식
내림차순(descending) 정렬 방식
정렬 방식에 여러 가지 조건 제시
로우를 정렬하기 위해서는 SELECT 문에 ORDER BY 절을 추가하고 어떤 컬럼을 기준으로 어떤 정렬을 할 것인지를 결정해야 합니다.
오름차순 정렬은 작은 값부터 큰 값으로 정렬하는 것을 의미합니다.(예:1~9, ‘A’~‘Z’) 이를 위해서는 ASC를 칼럼 다음에 기술해야 하는데 만일 생략하게 되면 디폴트로 ASC로 지정되어 있기 때문에 오름차순으로 출력됩니다.
다음은 급여 컬럼을 기준으로 오름차순으로 정렬한 예입니다.
정렬방식을 지정하지 않은 경우에는 디폴트로 오름차순으로 정렬합니다.
내림차순 정렬은 큰 값부터 작은 값으로 정렬을 하는 것이다.(예:9~1, Z~A)
이번에는 급여를 많이 받는 사람부터 적게 받는 사람 순으로 순차적으로 출력해 봅시다.
큰 값이 위에 출력되고 아래로 갈수록 작은 값이 출력되도록 하려면 내림차순(descending) 으로 정렬해야 하기 때문에 칼럼 다음에 DESC를 기술해야 합니다.
급여를 많이 받는 사람부터 적게 받는 사람 순으로 순차적으로 출력하는 결과 화면을 살펴보면 동일한 급여를 받는 사람이 존재합니다.
급여가 같은 사람이 존재할 경우 이름의 철자가 빠른 사람부터 출력되도록 하려면 정렬 방식을 여러 가지로 지정해야 합니다.