
SQL이란?
구조적 쿼리 언어(SQL)는 관계형 데이터베이스에 정보를 저장하고 처리하기 위한 프로그래밍 언어이다.
여기서 관계형 데이터베이스(RDB)는 정보를 표 형식으로 저장하며, 행과 열은 다양한 데이터 속성과 데이터 값 간의 다양한 관계를 나타낸다. 이때 SQL 문을 사용하여 데이터베이스에서 정보를 저장, 업데이트, 제거, 검색 및 검색할 수 있다. 즉 관계형 데이터베이스(RDB)에서 DB를 다루기 위해 사용하는 것이 SQL이다.
참고로 RDBMS는 이러한 관계형 데이터베이스(RDB)를 다룰 수 있는 소프트웨어이다. 그 예로 mysql, mariaDB, postgreSQL 등이 있는 것이다.
쿼리란?
쿼리(Query)란 직역하면 질문, 문의하다하는 뜻으로 질문에 대한 답을 요청하는 것이다.
즉, 쿼리는 데이터베이스DB에 사용자가 요청한 특정 데이터를 보여달라는 요청을 이야기한다.
쿼리문을 작성한다
= DB에서 원하는 정보를 가져오는 코드를 작성한다는 말이다.
DB 쿼리문
1. DDL (정의어)
-CREATE, ALTER, DROP, TRUNCATE
2. DML (수정)
-SELECT, INSERT, UPDATE, DELETE, MERGE
3. DCL (권한 제어)
-GRANT, REVOKE
4. TCL(명령어 제어)
-COMMIT, ROLLBACK, SAVEPOINT
주의) 테이블에서 정보를 select 하기 전에, USE로 데이터베이스 선택을 먼저 해야 한다.
SELECT 문의 기본 형식
SELECT 열_이름 FROM 테이블_이름
WHERE 조건식
GROUP BY 열_이름
HAVING 조건식
ORDER BY 열_이름
LIMIT 숫자
FROM
원래 FROM 뒤에 들어가는 테이블 이름은 스키마명(DB명).테이블 이다.
그렇지만 USE 문으로 DB를 지정해주었다면 테이블명만 명시해도 된다.
WHERE
뒤에는 관계 연산자/ 논리 연산자 모두 사용 가능하다.
BETWEEN
특정 범위에 해당하는 데이터를 조회할 수 있다.
IN
특정 값이 포함된 데이터 조회 가능
WHERE location IN('상도', '대방', '설입');
--이 셋 중 하나에만 속하면 해당하기 때문에 조회 가능
LIKE
문자열의 일부 글자 검색
SELECT * FROM user WHERE name LIKE '가___'
--name 컬럼 값이 '가'로 시작하는 4글자 데이터 조회
SELECT * FROM user WHERE name LIKE '가%'
--컬럼 값이 '가'로 시작하는 모든 데이터 조회
SELECT * FROM user WHERE name LIKE '%가'
--컬럼 값이 '가'로 끝나는 모든 데이터 조회
SELECT * FROM user WHERE name LIKE '%가%'
--컬럼 값에 '가'가 들어가는 모든 데이터 조회
서브 쿼리
하나의 SQL 문 안에 포함되어 있는 또 다른 SQL 문을 말한다. ()괄호 안에 있는 쿼리
SELECT 문만 가능
ORDER BY 컬럼명
데이터를 정렬한다.
-ASC : 오름차순 (생략시 ASC가 기본값!)
-DESC : 내림차순
,콤마로 여러 정렬 조건 지정 가능
LIMIT
출력 개수 제한
페이징 설정할 때 활용한다.(OFFSET과 조합하면 OFFSET based 페이징)
DISTINCT
중복 데이터 제거
컬럼 명 앞에 붙이면 중복된 값이 한개만 출력된다
AS
별칭(alias), 그냥 내 임의로 짓는 명칭. 생략 가능하다.
집계함수
SUM() : 합계
AVG() : 평균
COUNT() : 행의 개수
COUNT(*)는 모든 데이터 개수를 세고, NULL값이 포함되어 있어도 카운트된다.
MAX(), MIN() : 최대값, 최소값
ROUND(~,2) : 소수점 2의 자리까지 반올림
(집계함수 내에서 사칙 연산도 가능)
HAVING
: 그룹 조건
그룹화된 데이터에 대해서 조건을 제한한다. 따라서 GROUP BY 뒤에 와야 한다.
참고로,
포함관계는 다음과 같다
database(DB) < table < 데이터(행과열)
datagrip 쓸 때는
ctrl + 엔터 해야 바로 실행된다.
출처
쿼리 query란 무엇일까?
쿼리(Query)란? 쿼리(Query)란 직역하면 질문, 문의하다하는 뜻으로 질문에 대한 답을 요청하는 것이다. 쿼리는 데이터베이스DB에 사용자가 요청한 특정 데이터를 보여달라는 요청을 이야기한다. 쿼
kwonkai.tistory.com
[MySQL] - SQL 기본 문법 정리 - (SELECT, WHERE, ORDER BY ..)
- SELECT 문의 기본 형식은 다음과 같다.SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 📌 USE - 스키마 (데이터베이스) 선택-- USE '스키마명' USE market
rachel0115.tistory.com
'UMC스터디' 카테고리의 다른 글
| JPQL과 QueryDSL (1) | 2025.06.13 |
|---|---|
| 도메인 설계와 N+1 문제 (0) | 2025.06.13 |
| Spring Boot의 핵심 개념 정리 (0) | 2025.04.08 |
| 서버 관련 공부 (0) | 2025.03.21 |
| TCP/IP 4계층 모델을 활용한 홈페이지 접속 방법 설명 (0) | 2025.03.21 |