반응형
1. 데이터 베이스란?
> 여러 사람이 공유해 사용할 목적으로 통합하여 관리되는 데이터의 모음
> Maria DB, Amazon Redshift, Oracle DB 등 많은 종류가 존재
2. SQL
> Structured Query Language의 약자로 데이터 베이스에 접근하고 조작하기 위한 표준 언어
3. 관계형 데이터베이스
> 하나 이상의 테이블로 이루어지며 서로 연결된 데이터를 가지고 있으며, SQL을 통해 제어 가능
4. 테이블의 구성요소
> 컬럼(Column)과 레코드(Record)로 구성된 표 모든 테이블은 고유의 이름으로 구분
5. DML(Data Manipulation Language)
- insert
- update
- delete
- select
Insert
- 테이블에 데이터 삽입
INSERT INTO book(id, title, author, publisher)
명령 테이블 컬럼
VALUES('3', '햄릿', '윌리엄 셰익스피어', '엘리스 출판');
추가할 데이터
‘햄릿’ 책 데이터를 book 테이블에 추가
Update
- 데이터 내용 수정
UPDATE book SET title = '돈키호테 1' WHERE title = '돈키호테'; 명령 테이블 변경할 값 조건 책 제목(title)이 ‘돈키호테’인 데이터의 제목(title)을 ‘돈키호테 1’로 변경
Delete
- 데이터 삭제
DELETE FROM book WHERE title = '돈키호테 1'; 명령 테이블 조건 제목이 ‘돈키호테 1’인 책 데이터를 book 테이블에서 삭제
select
- 모든 컬럼 조회
select * from student; - 필요한 컬럼 조회
select age, name from student;
select 문법 순서
- select
- from
- where
- group by
- having
- order by
> 쿼리의 실행 순서는 from ▶ where ▶ group by ▶having ▶ select ▶ order by
Where
- 컬럼 조회의 조건
select * from student where id = 1; - and, or 조건
select * from student where gender = 'F' and(or) name = 'Aria'; - like 조건
% 로 표현
select * from student where title = '%data%';
Limit
- 조회 결과 행의 수 제한
select * from student limit 5;
Group By
- 특정 칼럼 기준의 데이터 그룹핑
select title from book group by author;
Order by
- ASC : 오름차순 1 2 3 4 5
- DESC : 내림차순 5 4 3 2 1
select * from book order by title asc;
Distinct
- 중복 행을 제거
select distinct title, author from book;
Alias
- 칼럼에 별칭을 주고 조회
select title 'book_name' from book where id = 1;
연산자
함수
계산 함수
- max
- min
- count (Null인 데이터는 제외)
- avg
- sum
> select 계산함수(칼럼) from 테이블;
JOIN
INNER JOIN : 두 테이블의 정보를 한 번에 조회
SELECT * FROM rental INNER JOIN user ON user.id = rental.user_id;
명령 검색할 컬럼 테이블 연결할 테이블 조건
LEFT JOIN : 왼쪽 테이블의 모든 값을 포함하여 연결
SELECT * FROM user LEFT JOIN rental ON user.id = rental.user_id;
검색할 컬럼 테이블 연결할 테이블 조건
RIGHT JOIN : 오른쪽 테이블의 모든 값을 포함하여 연결
SELECT * FROM user RIGHT JOIN rental ON user.id = rental.user_id;
검색할 컬럼 테이블 연결할 테이블 조건
서브쿼리
> 하나의 쿼리 안에 포함된 또 하나의 쿼리 메인 쿼리가 서브쿼리를 포함하는 종속적인 관계
• 알려지지 않은 기준을 이용한 검색에 유용
• 메인 쿼리가 실행되기 이전에 한 번만 실행
• 한 문장에서 여러 번 사용 가능
SELECT * FROM employee WHERE 급여 > (SELECT 급여 FROM employee WHERE 이름=‘ele’);
ele의 급여보다 많은 받는 사람들을 조회
서브쿼리 사용시 주의사항
1. 서브쿼리는 괄호와 함께 사용되어야 한다.
2. 서브쿼리 안에서 ORDER BY 절은 사용할 수 없다.
3. 서브쿼리는 연산자의 오른쪽에 사용되어야 한다.
4. 서브쿼리는 오로지 SELECT문으로만 작성 할 수 있다.
반응형
'SQL' 카테고리의 다른 글
mssql 오류 개체 xxx 열 xxx에 종속되어 있습니다 (0) | 2023.03.21 |
---|---|
mssql select문 사용법 예제 (0) | 2023.03.20 |
MSSQL INSERT 사용법 예시 예제 (0) | 2023.03.19 |
댓글