본문 바로가기
Oracle

SELECT 문장 , JOIN문장(1), ROWNUM , ROWID 데이터 제한,데이터 정렬

by 임혁진 2023. 12. 11.

SELECT 

-질의에 대해 리턴하고자 하는 테이블의 행을 선택하기 위해 SQL의 selection 기능을 사용할 수 있습니 다. 보고자 하는 행을 선택적으로 제한하기 위해 다양한 방법을 사용할 수 있습니다.

 

JOIN

- 공유 테이블 양쪽의 열에 대해 링크를 생성하여 다른 테이블에 저장되어 있는 데이터를 함께 가져오기 위해 SQL의 join 기능을 사용할 수 있습니다.

 

기본 구문

- SELECT : 하나 이상의 열을 나열합니다.

- DISTINCT : 중복을 제거합니다.

- * : 모든 열을 선택합니다.

- column : 명명된 열을 선택합니다.

- AS : 열 별칭(alias)을 지정합니다.

- alias : 선택된 열을 다른 이름으로 변경합니다.

- FROM table : 열을 포함하는 테이블을 명시합니다.

 

SQL의 기본규칙

-SQL 문장은 대/소문자를 구별하지 않습니다.

-SQL 문장은 한 줄 이상일 수 있습니다.

-키워드는 단축하거나 줄을 나누어 쓸 수 없습니다.

-절은 대개 줄을 나누어서 씁니다.

-탭과 들여쓰기(indent)는 읽기 쉽게 하기 위해 사용됩니다

EMPLOYEES 테이블에서 FIRST_NAME , LAST_NAME , SALARY 컬럼을 가져왔다
DEPARTMENTS 테이블의 *(모든 컬럼)을 가져왔다.

 

디폴트 데이터 -문자와 날짜 데이터 , 숫자 데이터

- 문자와 날짜 데이터는 왼쪽에 붙어서 정렬된다.

- 숫자 데이터는 오른쪽에 붙어서 정렬된다.

- 디폴트 열은 대문자로 출력됩니다.

 

연산순서 -  */+-

-곱하기와 나누기는 더하기와 빼기보다 우선순위가 높다.

-같은 우선순위는 좌측에서 우측으로 진행된다.

-괄호는 강제로 계의 우선순위를 바꾸거나 문장을 명료하게 보이게 하기 위해 사용된다.

 

NULL 

- Null은 이용할 수 없거나, 지정되지 않았거나, 알 수 없거나 또는 적용할 수 없는 값입니다.

- Null은 숫자 0이나 공백과는 다릅니다

 

 

AS

- 열 헤딩 이름을 변경합니다.

-계산할 때에 유용합니다.

-열 이름 바로 뒤에 둡니다. 

-열 이름과 별칭 사이에 키워드 ‘AS’를 넣기도 합니다.

-공백이나 특수문자 또는 대/소문자가 있으며 이중 인용부호(“ ”)가 필요합니다

 

DISTINCT

-기본 디폴트 출력은 중복되는 행을 포함하는 모든 행이 출력된다

-DISTINCT 키워드를 사용하면 중복되는 행을 제거

 

ROWNUM *

-쿼리에 의해 반환되는 행의 번호를 출력한다

 

ROWID 

- DB에서의 행 주소를 반환

 

 

데이터 제한

- 질의에 의해 검색되는 행을 제한할 수 있다. (조건을 붙여 출력)

 

WHERE 절

- WHERE 절을 사용하여 리턴되는 행을 제한합니다.

- WHERE 절은 FROM 절 다음에 옵니다.

- WHERE 절은 열 이름, 비교 연산자, 그리고 비교할 열 이름 또는 값의 목록으로 구성됩니다

 

디폴트 형식 

- 문자 스트링과 날짜 값은 단일 인용부호(‘ ’)로 둘러싸여 있습니다.

- 문자 값은 대/소문자를 구분하고, 날짜 값은 날짜 형식을 구분합니다.

- 디폴트 날짜 형식은 'DD-MON-YY' 입니다.

 

비교연산자 

BETWEEN  AND

- 값의 범위에 해당하는 행을 출력하기 위해 BETWEEN 연산자를 사용합니다.

- 하한 값을 먼저 명시해야 합니다.

- 하한 값과 상한 값을 모두 포함합니다

 

정확한 값 비교 -목록에 있는 값과 비교하기 위해선 IN 연산자를 사용

IN 안의 값과 동일한 값들을 전부 출력

 

 

LIKE 구문

- 검색 스트링 값에 대한 와일드카드 검색을 위해서 LIKE 연산자를 사용합니다.

- 검색 조건은 리터럴 문자나 숫자를 포함할 수 있습니다.

- %(percent)는 문자가 없거나 또는 하나 이상을 나타냅니다. 

- _(under score)는 하나의 문자를 나타냅니다.

 

 

IS NULL 연산자

-NULL 값을 테스트 한다.

NULL은 값이 없거나, 알 수 없거나 , 적용할 수 없을 때 사용하여 값이 같거나 다를 수 없어서 =으로 표현이 불가하다.

NULL 이 아닌 컬럼을 검색할 경우에는 IS NOT NULL을 이용한다.

 

 

논리연산자

AND 

-양쪽의 조건이 참이어야 TRUE

 

OR

-한쪽이라도 참이면 TRUE

 

NOT 

-뒤의 조건에 반대되는 결과를 리턴

 

우선순위 -

다른 연산자에 비해 AND OR NOT이 더 낮다

OR보다 AND가 우선된다.

 

논리연산자

 

 

데이터 정렬 - ORDER BY  - ASC , DESC

 

ORDER BY 절은 SELECT 문장의 가장 마지막에 온다

ASC : 오름차순으로 정렬 ,기본값

DESC : 내림차순으로 정렬한다.

ORDER BY 절엔 열 별칭을 사용가능 

 

 

 

실습

https://ohj9575.tistory.com/36

'Oracle' 카테고리의 다른 글

서브쿼리 *  (0) 2023.12.12
JOIN -ANSI JOIN , LEFTJOIN , RIGHTJOIN  (0) 2023.12.12
그룹함수 -GROUP BY , HAVING ,ROLL UP ,CUBE,GROUPING  (0) 2023.12.12
ORACLE 함수  (1) 2023.12.11
오라클 세팅하기  (0) 2023.12.11