Chat 상우

[데이터베이스] Mysql의 select 구문 DQL 이해하기 본문

DB/Mysql

[데이터베이스] Mysql의 select 구문 DQL 이해하기

chat-rilla 2023. 11. 15. 18:24

안녕하세요 chat상우 입니다.

잘못된 부분이나 수정사항이 있는 경우 댓글 남겨주시면 감사하겠습니다.

메인사진

DQL이란?

DQL(Data Query Language)의 약자로 데이터를 조회할 때사용하는 sql문의 유형으로 Select 문을 DML으로 정의를 하는 책도 있고 DQL로 정의하는 책도 있기 때문에 기준을 잡는 것이 좋을 것 같다 필자는 DQL로 정의를 하고 있다.

  1. 행(ROW), 튜플
  2. 컬럼, 도메인
  3. 기본키 (PRIMARY KEY)
  4. 외래키 (FOREIGN KEY)
  5. NULL
  6. 컬럼값, 속성 값

02. SQL(STRUCTURED QUERY LANGUAGE)

관계형 데이터베이스에서 데이터를 조회하거나 조작하기 위해 사용하는 표준 검색 언어이다. 원하는 데이터를 찾는 방법이나 절차를 기술하는 것이 아닌 조건을 기술하여 작성한다.

sql용어 정리

 

03. 데이터 타입

데이터타입

  • CHAR( SIZE[BYTE] ) 
    SIZE : 포함될 문자크기 지정한 크기보다 작은 문자열이 입력되고 남은 공간은 공백으로 채운다.

char데이터 예시

  • VARCHAR( SIZE[BYTE] )
    SIZE : 포함될 문자열 크기 지정한 크기보다 작은 문자열이 입력되고 남은 공간은 제고한다.

varchar 데이터예시

04. SELECT

  • 데이터를 조회한 결과를 RESULT SET이라고 한다.
  • SELECT 구문에 의해 반환된 행들의 집합을 의미한다.
  • RESULT SET은 0개 이상의 행이 포함될 수 있다.
  • RESULT SET은 특정한 기준에 의해 정렬될 수 있다.
  • 특정 컬럼이나 특정 행 혹은 특정 행/특정 컬럼을 조회할 수 있으며, 여러 테이블의 특정 행/컬럼을 조회할 수도 있다.
[표현식]

SELECT 
       컬럼명
     , 컬럼명
     , 컬럼명
  FROM 테이블명
 WHERE 조건식;

 

  • SELECT
    조회하고자 하는 컬럼명을 기술한다. 여러 컬럼을 조회하는 경우 컬럼은 쉼표로 구분하며 마지막 컬럼은 쉼표를 사용하지 않는다. 모든 컬럼을 조회하고자 하는 경우 ‘ * ’ 기호를 사용하여 조회한다.
  • FROM
    조회 대상 컬럼이 포함된 테이블명을 기술한다.
  • WHERE
    행을 선택하는 조건을 기술한다. 여러 개의 제한조건을 포함할 수 있으며 각각의 제한 조건은 논리 연산자로 연결한다. 제한조건을 만족시키는 행들만 RESULT SET에 포함한다.
  • 조회 결과 (Result Set)

select 쿼리 조회결과

  • SELECT 컬럼 별칭
    AS + 원하는 별칭을 기술하여 컬럼 별칭을 부여할 수 있다.

별칭 부여 조회결과

 

  • SELECT 리터럴
    임의로 지정한 문자열 SELECT 절에 사용하면, 테이블에 존재하는 데이터 처럼 사용할 수 있다.

리터럴 설정

  • SELECT
    ORDER BY [기준컬럼] DESC : 내림차순 || ASC : 오름차순 (기본 값 생략 가능)
    데이터를 정렬할 때 사용한다.

order By