* 이 글은 제가 공부하기 위해 최대한 사실에 입각해 내용을 적으려고 하지만 일부 내용들이 정확하지 않을 수 있습니다.
혹시나 잘못된 부분이 있으면 너그럽게 이해해 주시고 피드백 부탁드려요!
1. SQL 명령문의 종류와 사용방법
테이블 이름 확인
• 사용법
SQL> SELECT * FROM tab; |
• 사용 예
– 현재 접속한 데이터베이스 계정에 생성된 모든 테이블 이름을 확인하여라
테이블 구조 확인
• 사용법
SQL> DESC[RIBE] table_name |
• 사용 예
– 학생 테이블(student)의 구조를 확인하여라
SQL 명령문의 기초
• SELECT 명령문
– 테이블에 저장된 데이터를 검색하기 위한 명령문
– SELECT 명령문에서 SELECT절과 FROM절은 필수적
• 사용법
SELECT * | columnlist FROM table; |
테이블의 모든 데이터를 검색
• 사용 예
– 부서 테이블의 모든 칼럼에 저장된 데이터를 출력하여라
테이블의 특정 칼럼을 선택
• 사용 예
– 부서 테이블에서 부서 이름(dname)과 부서 번호(deptno)를 출력하여라
SQL 명령문의 표준 형식
• SQL 명령문의 표준 형식
SELECT [DISTINCT] { * | column[alias]....} FROM table [WHERE condition ] [GROUP BY group_by_expression] [ HAVING group_condition] [ORDER BY column ]; |
• SELECT 명령문 작성 시 규칙
– SQL 명령문에서 대소문자를 구분하지 않음
• 키워드는 주로 대문자로 사용하고 테이블명, 칼럼 이름은 소문자로 작성하는 것을 권장
– 절은 줄을 구분하여 작성하고, 들여 쓰기를 사용하여 읽기 쉽게
– 테이블명, 칼럼 이름, 키워드(SELECT, FROM, WHERE 등)는 축약할 수 없음
• 기본적인 SQL 질의
– SELECT절
• 질의 결과를 포함하려는 애트리뷰트들의 리스트 열거
• DISTINCT 절을 사용해서 중복 제거
– FROM절
• 질의에서 필요로 하는 릴레이션들의 리스트 열거
– WHERE절
• 관계 대수의 셀렉션(Select) 연산의 조건에 해당
– 중첩질의
• 다른 질의의 WHERE절에 포함된 SELECT문
– GROUP BY절
• 동일한 값을 갖는 튜플들을 한 그룹으로 묶는다
– HAVING절
• 튜플들의 그룹이 만족해야 하는 조건
– ORDER BY절
• 결과 튜플들의 정렬 순서
중복행 출력 금지 - 단일 칼럼
• 단일 칼럼에서 DISTINCT 키워드 사용 예
– 학생 테이블에서 중복되는 학과 번호(deptno)를 제외하고 출력하여라
중복행 출력 금지 - 복수 칼럼
• 복수 칼럼에서 DISTINCT 키워드 사용 예
– 학생 테이블에서 중복되는 학과 번호, 학년 제외하고 출력하여라
칼럼에 대한 별명 부여
• 별명 부여 방법
– 칼럼 이름과 별명 사이에 공백을 추가하는 방법
– 칼럼 이름과 별명 사이에 AS 키워드를 추가하는 방법
– 큰 따옴표를 사용하는 방법
• 칼럼 이름과 별명 사이에 공백을 추가하는 경우
• 특수문자를 추가하거나 대소문자를 구분하는 경우
• 사용 예
– 부서 테이블에서 부서 이름 칼럼의 별명은 dept_name, 부서 번호 칼럼의 별명은 DN으로
부여하여 출력하여라
• 사용 예
– 부서 테이블에서 부서 이름 칼럼의 별명은 “Department Name”, 부서 번호 칼럼의 별명은
“부서 번호#”으로 부여하여 출력하여라
합성 연산자 사용
• 합성(concatenation) 연산자 (||)
– 하나의 칼럼과 다른 칼럼, 산술 표현식 또는 상수 값과 연결하여 하나의 칼럼처럼 출력한 경우에 사용
• 사용 예
– 학생 테이블에서 학번과 이름 칼럼을 연결하여 “Student”라는 별명으로 하나의 칼럼처럼 연결하여
출력하여라.
산술 연산자 사용
• 산술 연산자(+,-, *, /)
– 칼럼 값에 산술 연산자를 적용하여 계산된 결과를 출력할 수 있는 기능을 제공
– 숫자 또는 날짜 타입에만 사용 가능
– 수학에서의 산술 연산자의 우선순위와 동일, 괄호를 사용하여 우선순위 변경 가능
• 사용 예
– 학생의 몸무게를 pound로 환산하고 칼럼 이름을 „weight_pound‟라는 별명으로 출력하여라.
1kg은 2.2 pound이다.
2. 오라클 오류 메시지
자주 발생하는 오라클 오류 메시지
• ORA-00942 : 테이블 또는 뷰가 존재하지 않습니다(table or view does not exist)
– 대부분 테이블 이름을 잘못 입력한 경우에 발생
– FROM 절에서 참조하는 테이블이나 뷰가 존재하지 않거나 사용자가 해당 테이블에 대한
접근 권한이 없는 경우에 발생
• ORA-00904 : 열명이 부적합합니다(invalid column name)
– 사용자가 칼럼 이름을 잘못 입력한 경우
• ORA-00923: 누락된 표현식(FROM keyword not found WHERE expected)
– SELECT 절에서 지정할 칼럼 별명 다음에 오는 칼럼 이름 사이에 콤마(,)를 누락한 경우
– SELECT 절의 맨 마지막 칼럼에 콤마를 추가한 경우
– FROM 키워드를 잘못 입력한 경우에 발생
'SQL > 데이터베이스' 카테고리의 다른 글
[풀스택과정] 데이터베이스 7. 조인 (0) | 2023.02.06 |
---|---|
[풀스택과정] 데이터베이스 6. 그룹함수 (0) | 2023.02.03 |
[풀스택과정] 데이터베이스 5. 함수 (0) | 2023.02.01 |
[풀스택과정] 데이터베이스 4. WHERE (0) | 2023.02.01 |
[풀스택과정] 데이터베이스 3. 데이터 타입 (0) | 2023.01.30 |