SQL | MySQL |

SELECT 문을 사용하여 테이블에서 데이터를 선택할 수 있습니다.

SELECT
(ALL | DISTINCT | DISTINCTROW)
select_expr (, select_expr ...)
(FROM table_references
    (WHERE where_condition)
    (GROUP BY {col_name | expr | position}
          (ASC | DESC), ... (WITH ROLLUP))
    (HAVING where_condition)
    (ORDER BY {col_name | expr | position}
          (ASC | DESC), ...)
    (LIMIT {(offset,) row_count | row_count OFFSET offset})
    (PROCEDURE procedure_name(argument_list))
    (INTO OUTFILE 'file_name'
         (CHARACTER SET charset_name)
         export_options
         | INTO DUMPFILE 'file_name'
         | INTO var_name (, var_name))
)


01. 간단한 SELECT 문 사용하기

1) 전체 테이블 데이터 선택

선택 테이블;

: 전체 테이블 데이터를 선택하려면 선택 항목 뒤에 *(별표) 기호를 추가합니다.

SELECT * FROM store;


2) 특정 컬럼 선택

열1, 열2, …에서 선택 테이블;

SELECT 상호명, 표준산업분류명, 행정동명
FROM store;


삼) 조건에 맞는 행만 추출

열1, 열2, …에서 선택 테이블 어디 열 a = 조건1 ;

행정동명 “탄방동”, 표준산업분류명, 행정동명이 있는 행 추출

SELECT 상호명, 표준산업분류명, 행정동명
FROM store
WHERE 행정동명 = '탄방동';


행정동명이 “탄방동” 또는 “괴정동”인 경우 일련의 회사명, 표준산업분류명, 행정동명 추출

SELECT 상호명, 표준산업분류명, 행정동명
FROM store
WHERE 행정동명 = '탄방동' OR 행정동명 = '괴정동';


4) 새 열 만들기

함수 또는 연산자 사용하기

거리 이름과 건물 이름 열 문자열 결합

SELECT 도로명, 
       건물명,
       concat(도로명,  " ", 건물명)
FROM store;


5) 열 이름 별칭을 입력하십시오.

SELECT 새 열(AS) 별칭 FROM 테이블;

SELECT 도로명 AS 도로, 
       건물명 AS 건물,
       concat(도로명,  " ", 건물명)  AS `도로+건물`
FROM store;


6) 원하는 순서대로 데이터 가져오기

ORDER BY 문을 사용하여 특정 열을 기준으로 데이터를 정렬할 수 있습니다.

– ASC: 오름차순(기본값)

– DESC: 내림차순

SELECT column names FROM table_references
(WHERE where_condition )
ORDER BY {column name | new column} {ASC | DESC};

· 분기 번호를 기준으로 오름차순 정렬

SELECT 상가업소번호, 상호명
FROM store
ORDER BY 상가업소번호;
SELECT 상가업소번호, 상호명
FROM store
ORDER BY 1;


· 분기 번호별로 내림차순으로 정렬

SELECT 상가업소번호, 상호명
FROM store
ORDER BY 상가업소번호 DESC;

SELECT 상가업소번호, 상호명
FROM store
ORDER BY 1 DESC;


ORDER BY 문 뒤에 열을 추가하는 경우 제곱 정렬또한 가능합니다.

7) 원하는 위치에서 특정 날짜 수 선택

가져올 LIMIT개 또는 건너뛸 수 LIMIT개, 가져올 수

: 어디서든 원하는 만큼의 데이터를 가져올 수 있습니다.

SELECT column names FROM table_references
(WHERE where_condition )
(ORDER BY {column name | new column} {ASC | DESC})
LIMIT (offset,) row_count ;

· 처음부터 10행만 가져오기

SELECT * FROM store
LIMIT 10;
SELECT * FROM store
LIMIT 0, 10;


· 30행으로 건너뛰어 31~40행을 얻습니다.

SELECT * FROM store
LIMIT 30, 10;


RAND() 제한으로 주문 무작위 샘플링으로

: 표본조사는 표본을 이용하여 전체 모집단의 경향을 정확하게 나타내는 것

완전히 무작위로 그리는 방법 (Random)

비즈니스 데이터에서 샘플 크기가 100인 샘플 추출

SELECT * FROM store
ORDER BY rand() 
LIMIT 0, 100;


8) 중복 행을 제거하여 선택

다른 선택 열 이름 OUT OF 테이블 참조 ;

SELECT count(상권업종소분류코드) 
FROM store;

상권구분코드 중복제거 전 행수는 7,672행이다.

SELECT count(DISTINCT 상권업종소분류코드) 
FROM store;

DISTINCT로 상권 분류 코드의 중복을 제거하면 행 수가 104개가 되어 중복이 제거됩니다.


원천 & 참조