loading

기본적인 select 문법

2014. 5. 7. 17:39
728x90
반응형

ㅇ desc 테이블명;


해당 테이블에 어떤 컬럼이 있는지 조회


SQL> desc emp;

 이름    널?     유형

 ----------------------------------------- -------- ----------------------------

 EMPNO    NOT NULL NUMBER(4)

 ENAME     VARCHAR2(10)

 JOB     VARCHAR2(9)

 MGR     NUMBER(4)

 HIREDATE     DATE

 SAL     NUMBER(7,2)

 COMM     NUMBER(7,2)

 DEPTNO      NUMBER(2)





ㅇ select 


select {칼럼명 또는 표현식} from {테이블명, 뷰명};


SQL> selct * from emp; 


SQL> select empno, ename from emp;


     EMPNO ENAME

---------- ----------

      7369 SMITH

      7499 ALLEN

      7521 WARD

      7566 JONES

      7654 MARTIN

      7698 BLAKE

      7782 CLARK

      7788 SCOTT

      7839 KING

      7844 TURNER

      7876 ADAMS

      7900 JAMES

      7902 FORD

      7934 MILLER


14 개의 행이 선택되었습니다.





ㅇ 별칭(Alias)


컬럼명 다음에 as를 쓰고 별칭을 쓰거나, 공백을 주거나.

공백, 특수문자, 대소문자 구분을 위해서는 " "로 묶어줄 것


SQL> select empno, ename from emp;


     EMPNO ENAME

---------- ----------

      7369 SMITH

      7499 ALLEN

      7521 WARD

      7566 JONES

      7654 MARTIN

      7698 BLAKE

      7782 CLARK

      7788 SCOTT

      7839 KING

      7844 TURNER

      7876 ADAMS



SQL> select empno as "Number", ename "이름" from emp;


    Number 이름

---------- ----------

      7369 SMITH

      7499 ALLEN

      7521 WARD

      7566 JONES

      7654 MARTIN

      7698 BLAKE

      7782 CLARK

      7788 SCOTT

      7839 KING

      7844 TURNER

      7876 ADAMS



ㅇ where


조건절.

from 다음에 기술

검색조건이 숫자인 경우는 따옴표가 필요없지만 문자나 날짜인 경우 반드시 홑따옴표로 표시

문자는 대소문자 구분함.


SQL> select ename, sal, deptno from emp

  2  where deptno=10;


ENAME   SAL   DEPTNO

---------- ---------- ----------

CLARK  2450       10

KING  5000       10

MILLER  1300       10


SQL> select ename, sal, deptno from emp

  2  where sal > 2000;


ENAME   SAL   DEPTNO

---------- ---------- ----------

JONES  2975       20

BLAKE  2850       30

CLARK  2450       10

SCOTT  3000       20

KING  5000       10

FORD  3000       20


SQL> select empno, ename, sal from emp

  2  where ename ='Scott';


no rows selected




SQL> select empno, ename, sal from emp

  2  where ename ='SCOTT';


     EMPNO ENAME      SAL

---------- ---------- ----------

      7788 SCOTT     3000




ㅇ like 연산자


문자를 조건에 줄 때


% 글자수 제한없지만 _(밑줄)은 한 글자만 해당


SQL> select ename from emp

  2  where ename like '_MITH';


ENAME

----------

SMITH



SQL> select ename from emp

  2  where ename like 'S%';


ENAME

----------

SMITH

SCOTT




ㅇ in 연산자


in 연산자로 where 조건절에 조건을 추가


SQL> select ename, deptno from emp

  2  where deptno in (10,20);


ENAME        DEPTNO

---------- ----------

SMITH    20

JONES    20

CLARK    10

SCOTT    20

KING    10

ADAMS    20

FORD    20

MILLER    10


의미상 where deptno=10 or deptno=20 과 동일.



ㅇ and로 where 조건 추가


and를 중복으로 사용하거나 or 로 조건 제한 가능

(and와 or를 동시에 사용할 경우 우선순위를 위해 ( ) 사용)


SQL> select empno, ename from emp

  2  where deptno in (10, 20)

  3  and sal > 3000;


     EMPNO ENAME

---------- ----------

      7839 KING


SQL> select empno, ename, sal from emp

  2  where deptno in(10, 20)

  3  and (sal > 3000 or sal<1500);


     EMPNO ENAME      SAL

---------- ---------- ----------

      7369 SMITH      800

      7839 KING      5000

      7876 ADAMS     1100

      7934 MILLER     1300






728x90

또루아빠 SQL(오라클,mysql) , ,