SELECT 문의 구문
SELECT문은 네 개의 DML문 중에서 가장 많이 쓰이는 구문입니다. 그리고 UPDATE, INSERT, DELETE 문 내에서 서브쿼리로써 존재할 수 있습니다. SELECT 문은 최소한 다음의 두 요소로 구성됩니다.
SELECT LIST : 검색될 열의 LIST
FROM 구 : 행을 검색하기 위한 TABLE
그럼 간단한 예를 보죠. 다음은 student란 Table에서 이름(name)을 검색하는 쿼리입니다.
SELECT name FROM student ;
결과는 다음과 같이 나오겠죠.
NAME
----------
김정민
정완교
박범길
유현승
……
학생의 이름과 나이를 알고싶으면 희망하는 순서로 열을 나열하면 됩니다.
SELECT name, age FROM student ;
결과는 다음과 같이 나옵니다.
NAME age
---------- ---
김정민 27
정완교 28
이해준 26
최종혁 27
박범길 24
테이블의 모든 열을 검색하려면 *을 사용하면 됩니다.
SELECT * FROM student ;
NAME | AGE | ENG_SCORE | KOR_SCORE | ... | AVR_SCORE |
---------- | --- | ---------- | ---------- | ... | ---------- |
정완교 | 28 | 90 | 85 | ... | 93 |
이해준 | 26 | 70 | 90 | ... | 80 |
최종혁 | 27 | 30 | 10 | ... | 20 |
박범길 | 24 | 100 | 100 | ... | 100 |
최선재 | 23 | 90 | 90 | ... | 90 |
조관현 | 28 | 85 | 100 | ... | 87.5 |
... | ... | ... | ... | ... | ... |
김정민 | 27 | 0 | 10 | ... | 5 |
NAME | ENG_SCORE | KOR_SCORE | (ENG_SCORE+KOR_SCORE)/2 |
---------- | ------------ | ------------- | ----------------------- |
정완교 | 90 | 85 | 87.5 |
이해준 | 70 | 90 | 80 |
최종혁 | 30 | 10 | 20 |
박범길 | 100 | 100 | 100 |
최선재 | 90 | 90 | 90 |
조관현 | 85 | 100 | 87.5 |
... | ... | ... | ... |
김정민 | 0 | 10 | 5 |
WHERE
NAME | ENG_SCORE | KOR_SCORE |
---------- | ----------- | ---------- |
조관현 | 85 | 100 |
최종혁 | 30 | 10 |
NAME | AGE | ENG_SCORE | KOR_SCORE | ... | AVR_SCORE |
---------- | --- | ---------- | ---------- | ... | ---------- |
박범길 | 24 | 100 | 100 | ... | 100 |
최선재 | 23 | 90 | 90 | ... | 90 |
조관현 | 28 | 85 | 100 | ... | 87.5 |
NAME | AGE |
---------- | --- |
김정민 | 27 |
박범길 | 24 |
이해준 | 26 |
정완교 | 28 |
조관현 | 28 |
최선재 | 23 |
최종혁 | 27 |
NAME | AGE |
---------- | --- |
최종혁 | 27 |
최선재 | 23 |
조관현 | 28 |
정완교 | 28 |
이해준 | 26 |
박범길 | 24 |
김정민 | 27 |
COUNT(*) |
-------- |
4 |
NAME | ENG_SCORE | KOR_SCORE | (ENG_SCORE+KOR_SCORE)/2 |
---------- | ------------ | ------------- | ----------------------- |
정완교 | 90 | 85 | 87.5 |
이해준 | 70 | 90 | 80 |
최종혁 | 30 | 10 | 20 |
박범길 | 100 | 100 | 100 |
최선재 | 90 | 90 | 90 |
조관현 | 85 | 100 | 87.5 |
... | ... | ... | ... |
김정민 | 0 | 10 | 5 |
NAME | ENG_SCORE | KOR_SCORE | AVERAGE |
---------- | ------------ | ------------- | ----------------------- |
정완교 | 90 | 85 | 87.5 |
이해준 | 70 | 90 | 80 |
최종혁 | 30 | 10 | 20 |
박범길 | 100 | 100 | 100 |
최선재 | 90 | 90 | 90 |
조관현 | 85 | 100 | 87.5 |
... | ... | ... | ... |
김정민 | 0 | 10 | 5 |
NAME | ENG_SCORE | KOR_SCORE |
---------- | --------- | ---------- |
이해준 | 70 | 90 |
최종혁 | 30 | 10 |
... | ... | ... |
김정민 | 0 | 10 |
NAME | ENG_SCORE | KOR_SCORE |
---------- | --------- | ---------- |
정완교 | 90 | 85 |
박범길 | 100 | 100 |
최선재 | 90 | 90 |
조관현 | 85 | 100 |
... | ... | ... |
NAME | ENG_SCORE |
---------- | --------- |
최종혁 | 30 |
NAME | ENG_SCORE |
---------- | --------- |
박범길 | 100 |
최선재 | 90 |
조관현 | 85 |
NAME |
---------- |
박범길 |
최선재 |
조관현 |
NAME | AGE |
---------- | --- |
김정민 | 28 |
정완교 | 29 |
이해준 | 26 |
최종혁 | 50 |
... | .... |