���� ��ǥ

�����ͺ��̽��κ��� �����͸� �����ϱ� ���ؼ� SQL(Structured Query Language) SELECT ������ ����ؾ� �մϴ�. ���÷��� �Ǵ� ���� ����ؾ� �� �ʿ䰡 ���� ���� �ֽ��ϴ�. �� ������ �̷��� �۾��� �����ϴµ� �ʿ��� ��� SQL ������ ����մϴ�. �ݺ������� ���� ��  �ִ� SELECT ������ �����ϱ⸦ ���� ���� �ֽ��ϴ�. �� ������ ���� SQL ������ �����ϱ� ���� SQL*Plus ���ɾ��� ����� �����մϴ�.

 

SQL SELECT ������ ����

SELECT ������ �����ͺ��̽��κ��� ������ �˻��մϴ�. SELECT ������ ����Ͽ� ������ �� �� �ֽ��ϴ�:

�⺻���� SELECT ����

�⺻������ SELECT ������ ������ �����ؾ� �մϴ�:

�������Ŀ���:
 

SELECT

�ϳ� �̻��� ���� �����մϴ�.

DISTINCT

�ߺ��� �����մϴ�.

*

��� ���� �����մϴ�.

column

������ ���� �����մϴ�.

alias

���õ� ���� �ٸ� �̸����� �����մϴ�.

FROM table

���� �����ϴ� ���̺��� �����մϴ�.

��: �� ���� ��ü�� ���Ͽ� keyword, clause �׸��� statement �� ���˴ϴ�.

�ǽ�����
���簡 �������� ����ؼ� �ǽ��� �����Դϴ�. ���ɿ� ���� �ڼ��� ������ ������ ������ �����̵带 ���ؼ� ���� ������ �� �ֽ��ϴ�.
SQL> SELECT *
  2  FROM dept;

   DEPTNO DNAME          LOC
--------- -------------- -------------
       10 ACCOUNTING     NEW YORK
       20 RESEARCH       DALLAS
       30 SALES          CHICAGO
       40 OPERATIONS     BOSTON

SQL> SELECT deptno, loc
  2  FROM dept;

   DEPTNO LOC
--------- -------------
       10 NEW YORK
       20 DALLAS
       30 CHICAGO
       40 BOSTON

SQL> SELECT deptno
  2  FROM emp;

   DEPTNO
---------
       20
       30
       30
       20
       30
       30
       10
       20
       10
       30
       20
       30
       20
       10

14 ���� ���� ���õǾ����ϴ�.

SQL> SELECT DISTINCT deptno
  2  FROM emp;

   DEPTNO
---------
       10
       20
       30

SQL ���� �ۼ�

�Ʒ��� ������ ��Ģ�� ��ħ�� ���� �б� ���� �����ϱ� ���� ������ ���� �� �ֽ��ϴ�:

SQL ���� ����

 

��� ��, �� ����

������ SELECT Ű���忡 *�� ����Ͽ� ���̺��� �� ������ ��θ� ���÷��� �� �� �ֽ��ϴ�. ���� ������, department ���̺��� 3���� ���� �����մϴ�: DEPTNO, DNAME, LOC. ���̺��� 4���� ���� �����մϴ�.
���� SELECT Ű���� ���Ŀ� ��� ���� �����Ͽ� ���̺��� ��� ���� ���÷��� �� �� �ֽ��ϴ�. ���� ���, ���� ���� ���� SQL ������ DEPT ���̺��� ��� ��� ���� ���÷����մϴ�:
 

SQL> SELECT     deptno, dname, loc
  2  FROM       dept
;

 

Ư�� ���� ��� �� ����

�� �̸��� �޸�(,)�� �����Ͽ� ���������ν� ���̺��� Ư�� ���� ���÷��� �ϴ� SQL ������ ����� �� �ֽ��ϴ�. ���� ���� DEPT ���̺��� ��� �μ� ��ȣ�� ��ġ�� ���÷��� �մϴ�.
SELECT ������ ���ϴ� ���� ������� ����� ��Ÿ���⸦ ���ϸ� ������ �ϴ� ���� ������� �����մϴ�:

 

SQL> SELECT     loc, deptno
  2  FROM       dept;

 

LOC              DEPTNO
------------- ---------
NEW YORK             10
DALLAS               20
CHICAGO              30
BOSTON               40

 

����Ʈ �� ���

��¥ �� ����� ������ �Ӹ� �ƴ϶� ���� �� ����� �����ʹ� �� �� ������ ���� ���ĵ˴ϴ�. ���� ����� �����ʹ� ���� �����Դϴ�.

SQL> SELECT     ename, hiredate, sal
  2  FROM       emp;

 

ENAME      HIREDATE        SAL
---------- --------- ---------
KING       17-NOV-81      5000
BLAKE      01-MAY-81      2850
CLARK      09-JUN-81      2450
JONES      02-APR-81      2975
MARTIN     28-SEP-81      1250
ALLEN      20-FEB-81      1600
...
14 rows selected.

���ڿ� ��¥ �� ����� ���ܵ� �� ������ ���� ����� ���ܵ� �� �����ϴ�. �� ����� ����Ʈ�� �빮�ڷ� ��Ÿ���ϴ�. ��Ī(alias)���ν� �� ��� ���÷��̸� ������ �� �ֽ��ϴ�. �� ��Ī(alias)�� �� ������ �ڿ��� �ٷ絵�� �մϴ�.

��� ǥ����

�����Ͱ� ���÷��� �Ǵ� ����� �����ϰų�, ����� �����ϰ��� �� �� ��� ǥ������ ����� �� �ֽ��ϴ�. ��� ǥ������ �� �̸�, ���� ��� �� �׸��� ��� �������� ������ �� �ֽ��ϴ�.

��� ������


���� �����̵�� SQL���� �̿��� �� �ִ� ��� �������Դϴ�. FROM ���� ������ SQL ������ ������ ��� �������� ����� �� �ֽ��ϴ�.

 

��� ������ ���

���� ���� ��� �������� �޿��� $300 ���� ��Ű�� ���� ���� �����ڸ� ����ϰ� ����� SAL+300 ���� ���÷��� �մϴ�.
���� ��� �� SAL+300 �� EMP ���̺��� ���ο� ���� �ƴ��� �����Ͻʽÿ�. �̰��� ���� ���÷��̸� ���� ���� ���Դϴ�. ����Ʈ�� ���ο� ���� �̸� ��, sal+300�� ������ �������κ��� �����մϴ�.

��: SQL*Plus�� ��� ������ �յ��� ������ �����մϴ�.

 

������ �켱����

��� ǥ������ �ϳ� �̻��� �����ڸ� �����Ѵٸ�, ���ϱ�� �����Ⱑ ���� ���˴ϴ�. ǥ���� ���� ���� �켱������ �����ڰ� �ִٸ�, ����� �������� �������� ����˴ϴ�.
���� ���ǵ��� �ϱ� ���ؼ� ǥ���Ŀ� ��ȣ�� ����� �� �ֽ��ϴ�.
 

������ �켱���� (���)

���� ���� �̸�, �޿� �׸��� �������� ������ ���÷��� �մϴ�. �� �޿��� 12�� ���ϰ� ���ʽ� $100�� ���Ͽ� ������ ����մϴ�. ���ϱ�� ���ϱ� ������ ������� �����Ͻʽÿ�.

��
: ǥ�� �켱������ �������ϰų� ������ ���Ἲ�� ���ؼ� ��ȣ�� ����Ͻʽÿ�. ���� ���, ���� ǥ������ ����� �����Ű�� �ʰ� (12*sal)+100���� �ۼ��� �� �ֽ��ϴ�.

 

��ȣ ���

�����ڰ� ����� ������ �����ϱ� ���ؼ� ��ȣ�� ����Ͽ� �켱���� ��Ģ�� ������ �� �ֽ��ϴ�.
���� ���� �̸�, �޿� �׸��� �������� ������ ���÷��� �մϴ�. ������ �� �޿��� ���ʽ� $100�� ���ϰ� �ű⿡ 12�� ���Ͽ� ����մϴ�. ��ȣ ������ ���ϱⰡ ���ϱ� ���� �켱������ �����ϴ�.

 

Null ��

���� Ư�� ���� ���� ������ ���� ���ٸ�, ���� null�� �˴ϴ�.

null ���� �̿��� �� ���ų�, �������� �ʾҰų�, �� �� ���ų� �Ǵ� ������ �� ���� ���Դϴ�. null ���� Ø�̳� ������� �ٸ��ϴ�. Ø�� �����̸� ������ �����Դϴ�.

���� NOT NULL�� ���ǵ��� �ʾҰų�, ���� ������ �� PRIMARY KEY�� ���ǵ��� �ʾҴٸ�, � ���������� ���� null ���� ������ �� �ֽ��ϴ�.

EMP ���̺��� COMM ������ ���� SALESMAN ���� ���ʽ��� ���� �� ������ �ָ��Ͻʽÿ�. �ٸ� �������� ���ʽ��� �����ϴ�. null ���� �׷��� ����� ��Ÿ���ϴ�. �Ǹſ� Turner�� ���ʽ��� ���� �ʽ��ϴ�. ���� ���ʽ��� null�� �ƴ϶� Ø���� �ָ��Ͻʽÿ�.

 

Null �� (���)

��� ǥ���Ŀ� �ִ� � �� ���� null �̸�, ����� null �Դϴ�. ���� ���, Ø���� �����⸦ �õ��Ѵٸ�, ������ �߻��մϴ�. �׷��� null�� ���� ���� ������, ����� null �Ǵ� unknown �Դϴ�.

���� ������, ������ KING�� SALESMAN�� �ƴϰ� ���ʽ��� ���� �ʽ��ϴ�. ��� ǥ���Ŀ��� COMM ���� null�̱� ������ ����� null �Դϴ�.

���� �ڼ��� ������ �˰��� �Ѵٸ�, ������ �����Ͻʽÿ�.

- Oracle Server SQL Reference, Release 7.3,
- Oracle Server SQL Reference, Release 8.0, ��Elements of SQL.��

 

�� ��Ī

������ ����� ���÷��� �� ��, ���� SQL*Plus �� �� ������� ���õ� ���� �̸��� ����մϴ�. �� ����� �����ϱⰡ ����� ��쵵 �����ϴ�. �� ��Ī�� ����Ͽ� �� ����� ������ �� �ֽ��ϴ�.

�����ڷ� ������ ����Ͽ� SELECT ��� ���� �� �ڿ� ��Ī�� �����մϴ�. ����Ʈ�� �� ����� �빮�ڷ� ��Ÿ���ϴ�. ��Ī�� ����, Ư������(# �̳� $ ����) �Ǵ� ��ҹ��ڸ� �����ϸ�, ���� �ο��ȣ(" ")�� ��Ī�� �ѷ��ξ� �մϴ�.

 

�� ��Ī (���)

ù ��° ���� ��� �������� �̸��� �� �޿��� ���÷��� �մϴ�. AS Ű����� �� ��Ī �̸� �տ� ���˴ϴ�. ������ ����� AS Ű���尡 ���ǰų� �Ǵ� ������ �ʾҰų� �Ȱ����ϴ�. ���� SQL ������ �� ��Ī, �̸� �׸��� �޿��� �ҹ��ڷ� ��Ÿ������, �ݸ鿡 ������ ����� �� ����� �빮�ڷ� ��Ÿ���� �ָ��Ͻʽÿ�. �̹� ����� ��ó�� �� ����� ����Ʈ�� �빮�ڷ� ��Ÿ���ϴ�.

�� ��° ���� ��� �������� �̸��� �� �޿��� ���÷��� �մϴ�. ����(Annual Salary)�� ������ �����ϹǷ� ���� �ο��ȣ�� �ѷ��ο� �ֽ��ϴ�. ����� �� ����� �� ��Ī�� ��Ȯ�� �Ȱ����� �ָ��Ͻʽÿ�.

���� ������

���� ������(||)�� ����Ͽ� ���� ǥ������ �����ϱ� ���� �ٸ� ��, ��� ǥ���� �Ǵ� ��� ���� ���� ������ �� �ֽ��ϴ�. �������� ���ʿ� �ִ� ���� ���� ��� ���� ����� ���� ���յ˴ϴ�.

 

���� ������ (���)

������, ENAME�� JOB�� ��Ī Employee�� ����Ǿ����ϴ�. ������ �̸��� ������ ������ ���� ��� ���� ����� ���ؼ� ���յǾ����� �ָ��Ͻʽÿ�.

��Ī �̸� ���� AS Ű����� SELECT ���� ���� �б� ���� �մϴ�.

 

���ͷ� ���� ��Ʈ��

���ͷ��� �� �̸��̳� �� ��Ī�� �ƴ�, SELECT ��Ͽ� ���ԵǾ� �ִ� ����, ǥ���� �Ǵ� �����Դϴ�. �װ��� ���ϵǴ� ������ �࿡ ���� ��µ˴ϴ�. ���ͷ� ��Ʈ���� ���� ����� ���Ե� �� ������, SELECT ��Ͽ��� ���� �Ȱ��� ��޵˴ϴ�.

��¥�� ���� ���ͷ��� ���� �ο��ȣ(' ') ���� �־�� �մϴ�; ���� ���ͷ��� �׷��� �ؼ��� �ȵ˴ϴ�.

���ͷ� ���� ��Ʈ�� (���)

���� ���� ��� �������� �̸��� ������ ���÷��� �մϴ�. ���� ��Employee Details�� ��� ����� �����ϴ�. SELECT ���忡�� ���� �ο��ȣ ���̿� ������ ������ �ָ��Ͻʽÿ�. ������ ����� �б� ���� ���ݴϴ�.

������ �������� ���� �̸��� �޿��� ���ϵ� �࿡ �ǹ̸� �ο� �ϱ� ���ؼ� ������ ������, ���ͷ��� ���� �Ǿ����ϴ�.
 

SQL> SELECT ename ||': '||'1'||' Month salary = '||sal Monthly
  2  FROM   emp;


MONTHLY
---------------------------------------------------------------
KING: 1 Month salary = 5000
BLAKE: 1 Month salary = 2850
CLARK: 1 Month salary = 2450
JONES: 1 Month salary = 2975
MARTIN: 1 Month salary = 1250
ALLEN: 1 Month salary = 1600
TURNER: 1 Month salary = 1500
...
14 rows selected.

 

�ߺ� ��

Ư���� �������� �ʾҴٸ�, SQL*Plus �� �ߺ��Ǵ� ���� �������� �ʰ� ������ ����� ���÷��� �մϴ�. ���� ���� EMP ���̺��κ��� ��� �μ���ȣ�� ���÷��� �մϴ�. �μ� ��ȣ�� �ݺ��Ǿ����� �ָ��Ͻʽÿ�.

 

�ߺ� �� (���)

������� �ߺ��Ǵ� ���� �����ϱ� ���ؼ�, SELECT Ű���� �ٷ� �ڿ� DISTINCT Ű���带 �����մϴ�. ���� ������ EMP ���̺��� ������ 14���� ���� ���������� ���̺����� ���� 3���� ������ �μ� ��ȣ���� �ֽ��ϴ�.

DISTINCT Ű���� �ڿ� ���� ���� ���� ������ �� �ֽ��ϴ�. DISTINCT Ű����� ���õ� ��� ���� ������ ��ġ��, ����� ��� ���� distinct�� ������ ��Ÿ���ϴ�.
 

SQL> SELECT     DISTINCT deptno, job
  2  FROM       emp;


   DEPTNO JOB
   ------ ---------
       10 CLERK
       10 MANAGER
       10 PRESIDENT
       20 ANALYST
   ...
   9 rows selected.

 A ���������� �� �Կ�ȯ�ڿ� ���� �� ���� ����ǻ簡 ������ ������ ���� �� �Կ�ȯ�ڴ� �ش� ������� ���� �ִ� ��簣ȣ���� ��ȣ�� �޴´�. �� �ǻ�� ��ȣ����� �ڽ��� ������� ���ϴ� ���� ���� ȯ�ڸ� ����ϰ� �ȴ�. ��簣ȣ��� ���� ������ ���� �Ϸ翡 �� ���� ���밡 ������ ȯ���� ����Ǵ� ����� ������ �������� �ʴ´�. A ������ ȯ��-����� ����� ȯ��-��ȣ�� �����?
A. one-to-one, many-to-one
B. many-to-one, one-to-many
C. many-to-one, many-to-many
D. many-to-many, many-to-one
E. many-to-many, one-to-many
��

X ����:C


X ����:B


X ����:1


X ����:C