Notice
Recent Posts
Recent Comments
Link
«   2025/05   »
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 31
Tags
more
Archives
Today
Total
관리 메뉴

개발 블로그

[데이터베이스]SELECT 구문으로 데이터 검색하기 본문

전공 공부/데이터베이스

[데이터베이스]SELECT 구문으로 데이터 검색하기

토산인 2022. 12. 8. 00:05

이번엔 데이터베이스에서 데이터를 가져오는 것을 알아볼 것이다.

 

SQL을 이용해 가장 많이 질의하는 것은 원하는 데이터를 찾아서 사용하기 위해 데이터를 가져오는 것이다. 

select 구문은 테이블에서 원하는 데이터를 가져오기 위한 구문으로 크게 3가지를 지정해야 한다.

1.어느 테이블에서 행을 가져올 것인지 정한다. (from)

2. 테이블의 어느 칼럼의 값을 가져올 것인지 정한다. (what)

3. 어떤 조건에 해당하는 행을 가져올지 정한다. (where)

 

SELECT [ALL | DISTINCT] 칼럼1, 칼럼2,.. 
FROM 테이블이름, … 
[WHERE 조건식] 
[GROUP BY 칼럼이름,… [HAVING 조건식]] 
[ORDER BY 칼럼이름,…]

 

 

예시

member 테이블

SELECT * FROM MEMBER;

member 테이블에서 모든 칼럼값을 가져온다. 

 

SELECT M_ID, M_NAME FROM MEMBER;

M_ID와 M_NAME 칼럼만 가져온다. 

 

이때 select 구문으로 만들어진 테이블을 유도된 테이블이라고 하는데, 일시적으로 메모리에 적재하여 연산한 결과를 보여주므로 원래 테이블에 영향을 미치지 않는다.  

 

 

 

별칭(alias)

AS 로 질의된 결과물의 칼럼 또는 테이블의 이름을 바꿀 수 있다.

SELECT M_ID AS ID, M_NAME AS NAME FROM MEMBER;

M_ID를 ID로, M_NAME을 NAME으로 이름을 변경해 데이터를 가져온다. 

 

 

정렬된 행으로 가져오기 (ORDER BY)

데이터를 가져올 때 특정 칼럼값을 기준으로 정렬(오름차순/내림차순)해 가져올 수 있다. 

SELECT 칼럼, ... FROM 테이블이름 ORDER BY 칼럼 ASC; //오름차순
SELECT 칼럼, ... FROM 테이블이름 ORDER BY 칼럼 DESC; //내림차순

 

SELECT * FROM MEMBER ORDER BY M_NAME ASC;

MEMBER 테이블의 M_NAME 컬럼값을 기준으로 정렬해 데이터를 가져온다. 

 

다중정렬

여러 칼럼을 정렬 기준으로 사용하는 경우 다중 정렬을 사용한다.

 

SELECT M_NAME, M_CREATED_DATETIME FROM MEMBER 
ORDER BY M_CREATED_DATETIME ASC, M_NAME ASC;

 이는 M_CREATED_DATETIME을 기준으로 오름차순으로 정렬하고, 동일한 값에 대해 M_NAME을 기준으로 오름차순 정렬한다.