티스토리 뷰

반응형

안녕하세요, 끙정입니다.

 

SQL의 기본 중에 기본이라고도 할 수 있는 SELECT문에 대해서 알아보겠습니다.

기본 형식은 아래와 같습니다.

 

/* 영문은 문법 */
/* 한글은 변수 */
/* 대괄호는 옵션(생략 가능) */
SELECT 필드목록 FROM 테이블 [WHERE 조건] [ORDER BY 정렬기준]

 

1. 테이블에 있는 모든 행과 열을 불러오자.

(그러나 테이블이 크면 엄청난 연산과 시간이 걸리니 지양합니다.)

 

/* 모든 조건은 * 을 씁니다. */
SELECT * FROM tStaff;

 

SQL Server에서 예제 실행

 

2. 특정 필드 목록(칼럼, 열)을 불러와보자.

 

/* 필드목록에 콤마로 구분한 열의 이름을 넣어줍니다. */
SELECT name, depart FROM tStaff;

 

오라클에서 실행한 쿼리. 우측은 마리아DB의 커맨드 라인.

 

3. 별명을 지정해보자.

SELECT 명령이 출력하는 내용을 결과 셋(Result Set) 혹은 로우셋(Row Set)이라고 하는데 형태가 테이블과 똑같습니다. 결과 셋의 필드 캡션은 테이블에서 정의한 이름과 같은데, 이를 알아보기 쉽게 변경하여 출력해줄 수 있습니다. (테이블의 내용이 바뀌지는 않습니다-!)

 

/* 영문은 문법 */
/* 한글은 변수 */
/* 대괄호는 옵션(생략 가능) */
필드명 [AS] "별명"

 

여기서 유의할 점은,

1. 공백이 없거나 특수문자가 없으면 따옴표를 붙이지 않아도 된다.

  그러나 공백이나 특수문자가 있으면 무조건 따옴표 안에 넣어줘야 한다.

2. 오라클은 큰따옴표(큰따옴표)만을 별명으로 인식한다.

  그러나 SQL Server나 Maria DB는 작은따옴표도 인식한다.

3. AS를 생략해도 알아먹는다.

 

다음과 같이 사용합니다.

 

/* 도시명은 공백이나 특수문자가 없기에 따옴표 없이 선언 */
/* 면적(제곱km)는 특수문자인 괄호가 들어갔기에 따옴표 안에 선언 */
/* 오라클은 쌍따옴표만 인정하기에, 쌍따옴표로 연습하는 것이 여러모로 수월 */
/* 세 DBMS 모두 as를 생략할 수 있습니다. */

select name AS 도시명, area AS "면적(제곱km)", popu AS "인구(만명)" from tCity;

 

오라클. 큰 따옴표가 아니면 에러가 뜰 것입니다.
SQL Server와 Maria DB는 작은 따옴표도 잘 인식한다. 우측을 보면 as를 생략해도 잘 인식한다.

 

4. 계산 값을 출력해보자.

필드 목록에 계산식을 사용하면 테이블에 저장된 값을 가공하여 출력할 수 있습니다.

이럴 경우 필드명을 함께 가공해주는 것이 좋습니다.

 

SELECT name, popu * 10000 as "인구(명)" FROM tCity;

 

이런 식으로도 가능하다.

4-1. 간단한 계산 기능이 숨어 있습니다.

파이썬도 단순한 계산 기능을 하는 것처럼, SQL도 간단한 계산 기능이 됩니다. 다만 DBMS마다 조금씩 차이는 있습니다.

 

/* 오라클에서 계산값을 출력할 때 */
select 60 * 60 from Dual;

/* SQL Server에서 계산값을 출력할 때 */
select 60 * 60;

/* Maria DB는 위 두 방법 모두 가능 */

 

1. 오라클은 Dual이라는 테이블로부터 선언을 해주어야만 한다.

2. SQL Server는 Dual 이라는 테이블이 없다. 테이블 없이 선언해야만 한다.

3. Maria DB는 두 방법을 모두 지원한다.

 

오류가 뜨는 오라클과 SQL서버

 

모두 다 되는 Maria DB.

 

 

그만 알아보겠습니다.

 

 

출처

http://www.yes24.com/Product/Goods/101637633

 

김상형의 SQL 정복 : 소문난 명강의 (무료특별판)

DBMS에 제약 없이 SQL을 활용한다!핵심 원리를 알려주는 SQL 바이블 DBMS 제품이나 개발툴이 아닌 SQL 언어 그 자체를 배우는 바이블 도서다. 특정 DBMS에 종속적인 사용법보다는 표준화된 데이터 관리

www.yes24.com

 

반응형
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함