database.sarang.net
UserID
Passwd
Database
DBMS
MySQL
PostgreSQL
Firebird
Oracle
Informix
Sybase
ㆍMS-SQL
DB2
Cache
CUBRID
LDAP
ALTIBASE
Tibero
DB 문서들
스터디
Community
공지사항
자유게시판
구인|구직
DSN 갤러리
도움주신분들
Admin
운영게시판
최근게시물
MS-SQL Q&A 5583 게시물 읽기
No. 5583
SQL 작성 방법 SQL 기본 문법
작성자
박창완(chp7502)
작성일
2010-02-26 14:57ⓒ
2010-02-26 14:59ⓜ
조회수
7,384

SQL 작성 방법

l       SQL은 대소문자를 구분하지 않지만 읽기 쉬운 코드작성을 위해 적절히 대소문자를 구분한다.

l       Data Type은 반드시 일치 시킨다.

; WHERE 절에서 문자형을 숫자와 비교할 때, 오라클에서는 내부적으로 Data Type을 맞춰주지만, INDEX가 걸렸을 경우 Data Type에 변형을 가했기 때문에 사용할 수 없다.

) SELECT empno, ename, job FROM emp WHERE empno = 1010;

   Empno가 숫자형이면 문제가 없지만, 문자형일 경우 내부적으로 Data Type 변형이 일어나기 때문에 INDEX를 이용할 경우 이용할 수 없다.

l       WHERE 절에는 상수 값 대신 호스트 변수를 사용한다.

; 오라클의 아키텍처에서 SGA > Shared Pool > Shared SQL Area에 사용자가 실행된 SQL 문장이 메모리에 저장되는데, 1) SQL를 실행할 때마다 다른 SQL 문장으로 인식해서 실행하지만, 2)처럼 변수명을 이용해서 문장을 실행하면 한 SQL 문장으로 인식해서 예1)의 문제점을 해결 할 수 있다.

1)  SELECT empno, ename, job FROM emp WHERE empno = 1010;

         SELECT empno, ename, job FROM emp WHERE empno = 1020;

2) v_empno = 1010;

      SELECT empno, ename, job FROM emp WHERE empno = :v_empno;

l       WHERE 절의 비교 대상이 되는 Column을 변형하지 않는다.

l       SQL 작성 규칙을 만들고 모든 개발자가 지키도록 한다.

# SQL 작성 방법은 강제 상황은 아니지만, SQL의 성능 향상이나 효율적인 방법이기 위한 권고 사항이다.

 

SQL 기본 문법

 # SQL DDL, DML, DCL 3가지로 구성

 

 

- DDL : CREATE .. (오브젝트 정의)

- DML : SELECT,INSERT, UPATE, DELETE

        - DCL : ROLLBACK, COMMIT

 

SQL*Plus 기본 명령

 

# SQL*Plus 프로그램에서 SQL SQL*Plus를 실행하다 보니깐 혼동하는 경우가 있다

   SQL*Plus SQL명령어가 아니다.

# SQL*Plus 기본명령 부연 설명

   -  CHAGE : EDIT와 같이 버퍼에 있는 SQL를 편집할 수 있는 명령어로, 특정 문자를 변경할

   -  APPEND : CHAGE가 버퍼에 있는 SQL의 특정문자를 변경하는 명령어라면, APPEND는 새

                     로운 문자열을 추가하는 명령어.

    예) SQL > A WHERE TNAME = EMP;

              ; 원래 있던 SELECT * FROM TAB WHERE TNAME = EMP 문자열이

                추가된다.

      -  GET : 외부 파일에 저장되는 SQL를 읽어 들이는 기능을 한다. GET명령어 후에

RUN명령어를 실행해야 한다.

          ) SQL > GET C:/실습/SAMPLE.SQL

   -  START : GET가 달릴 외부 파일에 저장되는 SQL를 바로 실행하기 위해 사용.   -  SPOOL : SQL*Plus 하는 모든 작업 내용을 특정 파일(Log 파일 개념)에 저장하게 한다.

    ) SQL > @ C:/실습/SAMPLE.SQL

 

    ) SQL >SPOOL C:/실습/WORK.TXT

          ; 이 명령어 실행 이후에 모든 내용이 WORK.TXT파일에 저장된다.

         SQL >SPOOL OFF

; SPOOL 명령어에 의한 저장을 그만 하고자 할 때 쓰는 옵션 (OFF)

 

◇담당자명: 박 창완 교육팀장
◇교육문의 : 02)6901-7024

 

         

[Top]
No.
제목
작성자
작성일
조회
5586간단한 쿼리를 어떻게 짜야할지 모르겠어요. [1]
hongy
2010-03-03
5790
55852008 링크드 서버
임진표
2010-03-02
7296
5584흠... 복합인덱스와 단일인덱스 차이 [1]
인덱스맨
2010-03-02
6148
5583SQL 작성 방법 SQL 기본 문법
박창완
2010-02-26
7384
5582날짜별 번호 매기기 (SELECT 만을 이용한) [2]
이철성
2010-02-25
8787
5581오라클 Linked Server 연결이 안됩니다.
아브라
2010-02-24
7586
5580order by 안에 rand() 벨류요
julia
2010-02-24
6207
Valid XHTML 1.0!
All about the DATABASE... Copyleft 1999-2024 DSN, All rights reserved.
작업시간: 0.017초, 이곳 서비스는
	PostgreSQL v16.4로 자료를 관리합니다