[데이터베이스 - 기본개념]

yedy·2023년 5월 11일
0

[mySQL]

목록 보기
3/16
post-thumbnail
post-custom-banner

✔️ DDL, DML, DCL의 개념

✔️ SQL을 왜 배워야 할까 ?


- RDBMS : 관계 데이터베이스 시스템 (자주 사용) ex)MySQL

✔️ DBMS의 장점

  • 대용량 데이터 처리 제공
  • 데이터 중복의 최소화
  • 일관성(Consistency) 유지
  • 무결성(Integrity) 유지
  • 보안(Security) 보장
  • 데이터의 공용(Shared)
  • 표준화(Standardization) 용이

✔️ SELECT문

🔺 USE 구문
SELECT문 학습 위해 사용할 데이터베이스 지정

USE 데이터 베이스_이름

🔺 SELECT *
선택된 DB가 employees 라면 다음 두 쿼리는 동일

SELECT * FROM employees.titles;
SELECT * FROM titles;*

🔺 특정 조건의 데이터만 조회 <SELECT .. FROM .. WHERE>

  • 데이터가 숫자로 구성되어 있으며 연속적인 값 : BETWEEN ... AND 사용
    SELECT name, height FROM usertbl WHERE height BETWEEN 180 AND 183;
  • 이산적인 값의 조건 : IN() 사용
    SELECT name, addr FROM usertbl WHERE addr IN ('경남','전남','경북');
  • 문자열의 내용 검색 : LIKE 사용(문자뒤에 % 무엇이든 허용, 한글자와 매치 '_' 사용)
    SELECT name, height FROM usertbl WHERE name LIKE '김%';

✔️ ANY/ALL/SOME, 서브쿼리

  • ANY
    • 서브쿼리의 여러 개의 결과 중 한 가지만 만족해도 가능
    • SOME은 ANY와 동일한 의미로 사용
    • '=ANY(서브쿼리)'는 'IN(서브쿼리)'와 동일한 의미
  • ALL
    • 서브쿼리의 결과 중 여러 개의 결과를 모두 만족해야 함

✔️ ORDER BY

원하는 순서대로 정렬하여 출력
결과물에 대해 영향을 미치지는 않고 출력되는 순서를 조절하는 구문
기본적으로 (ASCENDING) 정렬
내림차순(DESCENDING)으로 정렬하려면 열 이름 뒤에 DESC

  SELECT name, height FROM usertbl ORDER BY height DESC, name ASC;

[table]
데이터가 저장되어 있는 테이블 이름 기술.
스키마명 적용하여 기술 가능.
[테이블] AS [별칭]으로 별명 사용 가능.

[value]
필요한 정보만 조회 할 수 있도록 필터 적용.

✔️ SELECT문

  • DISTINCT
    중복된 것을 골라서 세기 어려울 때 사용하는 구문
    테이블의 크기가 클수록 효율적이다!
  • LIMIT
    일부를 보기 위해 여러건의 데이터를 출력하는 부담을 줄여준다!!
    상위 3개! 10개! 이렇게 데이터를 출력할 수 있다 -> LIMIT 3
  • CREATE TABLE ... SELECT
    테이블 복사! PK나 FK 같은 제약 건은 복사되지 않음

✔️ GROUP BY 및 HAVING 그리고 집계 함수

  • GROUP BY절
    그룹으로 묶어주는 역할
    집계함수와 함께 사용
    • 효율적인 데이터 그룹화
    • ex) 각 사용자 별로 구매한 개수를 합쳐 출력
  SELECT userID, SUM(amount) FROM buytbl GROUP BY userID;

  SELECT userID AS '사용자 아이디', SUM(amount) AS '총 구매 개수' FROM buytbl GROUP BY userID;


🔺 HAVING절

  • WHERE와 비슷한 개념으로

profile
공주 개발자
post-custom-banner

0개의 댓글