반응형

[MariaDB] 마리아DB SQL 쿼리 기본 - SELECT (MySQL)

 

DB목록 조회

SHOW DATABASES;

 

DB선택

USE DB명;

 

선택된 DB에 존재하는 테이블 정보 조회

SHOW TABLE STATUS;  -- 테이블 이름만 간단히 볼 때는 SHOW TABLES;

 

테이블 조회(SELECT)

SELECT * FROM 테이블명;

 

DB선택과 함께 테이블 조회

SELECT * FROM DB명.테이블명;

 

테이블에서 필요한 열만 조회

SELECT 열이름1, 열이름2, 열이름3 FROM 테이블명;

 

별칭 사용법 (AS)

SELECT 열이름1 AS 별칭1, 열이름2 AS 별칭2 FROM 테이블명; -- 열이름이 별칭으로 적혀서 테이블 조회됨

 

조건절 (WHERE)

SELECT * FROM 테이블명 WHERE 조건문; -- 테이블명에 있는 데이터중 조건문에 해당되는 행의 모든(*) 열 조회

 

조건절 AND, OR

SELECT * FORM 테이블명 WHERE 조건1 AND 조건2; -- 조건1, 2 모두 참인 행들만 조회

SELECT * FROM 테이블명 WHERE 조건1 OR 조건2; -- 조건1이거나 2를 만족하는 행들을 조회

 

조건절 BETWEEN...AND

/* 열이름이 시작값부터 끝값까지의 포함된 행들을 조회(값은 보통 수치) */
SELECT * FROM 테이블명 WHERE 열이름 BETWEEN 시작값 AND 끝값;

 

조건절 IN('값1', '값2', ...)

/* 열이름이 IN 뒤에 값에 포함되는 행들만 조회 */
SELECT * FROM 테이블명 WHERE 열이름 IN ('값1', '값2', '값3');

 

조건절 LIKE '%'

/* 열이름이 LIKE 뒤에 문자와 %(모든문자)를 합쳐서 해당되면 조회 */
SELECT * FROM 테이블명 WHERE 열이름 LIKE '김%' -- 열이름이 '김'으로 시작하는 모든 행 조회

 

순서정렬 (ORDER BY)

SELECT * FROM 테이블명 ORDER BY 열이름; -- 기본값이 ASC이며 열이름 기준 오름차순 정렬
SELECT * FROM 테이블명 ORDER BY 열이름 DESC; -- 열이름 기준 내림차순 정렬

 

중복제거 조회 (DISTINCT)

SELECT 지역명 FROM 동창회테이블;  -- 동창회테이블에 중복되는 지역명이 테이블 행만큼 조회됨
SELECT DISTICT 지역명 FROM 동창회테이블  -- 동창회테이블에 지역명중 중복되는 값은 1개만 조회됨

 

조회(출력) 갯수 제한 (LIMIT)

SELECT * FROM 테이블명 LIMIT 5; -- 5개 행까지만 조회

 

테이블 새이름으로 복사하기

/* DB명 안에 있는 기존테이블을 새테이블로 복사 */
USE DB명;
CREATE TABLE 새테이블이름 (SELECT 복사할열1, 복사할열2 FROM 기존테이블);

 

GROUP BY절

/* 그룹열을 중복제거 조회하고, 그룹열에 해당되는 합칠열 값을 모두 더해서(SUM) 출력 */
SELECT 그룹열, SUM(합칠열) FROM 테이블명 GROUP BY 그룹열;


/* 그룹열을 중복제거 조회하고, 그룹열에 해당되는 수량열과 가격열을 곱한(*) 값들을 모두 더해서(SUM) 출력 */
SELECT 그룹열, SUM(수량열*가격열) FROM 테이블명 GROUP BY 그룹열;

 

GROUP BY절과 함께 사용되는 집계함수

함수명

설명

AVG()

평균을 구합니다.

MIN()

최소값을 구합니다.

MAX()

최대값을 구합니다.

COUNT()

행의 개수를 구합니다.

COUNT(DISTINCT)

행의 개수를 구합니다. (중복값은 1개로 인정)

STDEV()

표준편차를 구합니다.

VAR_SAMP()

분산을 구합니다.

 

HAVING 절(GROUP BY의 조건절)

/* 그룹열을 중복제거 조회하고, 그룹열에 해당되는 합칠열 값을 모두 더한값이(SUM) 1000보다 큰 행들을 출력 */
SELECT 그룹열, SUM(합칠열) 
FROM 테이블명 
GROUP BY 그룹열
HAVING SUM(합칠열) > 1000;


/* 그룹열을 중복제거 조회하고, 그룹열에 해당되는 수량열과 가격열을 곱한(*) 값들을 모두 더한값이(SUM) 1000보다 큰 행들을 출력 */
SELECT 그룹열, SUM(수량열*가격열) 
FROM 테이블명 
GROUP BY 그룹열
HAVING SUM(수량열*가격열) > 1000;

 

 

[MariaDB] 전체보기

 

 

'MariaDB' 카테고리의 글 목록

전산 관련 경험을 기록 하는 곳

reddb.tistory.com

 

반응형