SQL (4) : ORDER BY, 비교연산자, 논리연산자

Jio.B·2023년 7월 9일
0

[실습용 테이블 만들기]

  • mysql> use zerobase;
  • 실습할 데이터 추가
  • 실습 데이터 확인

ORDER BY (ASC, DESC)

  • SELECT 문에서 데이터를 특정 컬럼을 기준으로 오름차순(ASC, Ascending) 혹은 내림차순(DESC, Desecending)으로 정렬하는 문법
  • 정렬 순서의 디폴트 값은 오름차순(ASC)

[기본 문법]

  • WHERE절 사용시 FROM과 ORDER BY절 사이에 작성

(예제 1) celeb 테이블에서 이름과 나이를 '나이 순으로' 조회하기
(예제 2) celeb 테이블에서 이름과 나이를 나이의 역순으로 정렬한 뒤 이름순으로 정렬하여 조회하기


비교연산자(Comparision operators)

  • 비교연산자 & 의미

(예제 3) 나이가 29세인 데이터 검색

(예제 4) 나이가 29세 보다 크거나 같은 데이터 검색


논리연산자(Logical operators)

  • 논리연산자 & 의미

  • AND 문법 : 조건을 모두 만족하는 경우 TRUE

  • OR 문법 : 하나의 조건이라도 만족하는 경우 TRUE
    (예제 5-1) AND와 OR 동시 사용_ 이 경우 AND가 우선순위로 적용됨
    (예제 5-2) 처리 순서가 중요하다면 괄호 ( )로 우선순위를 지정해야 함
    (예제 5-3) celeb 테이블에서 아이디가 홀수이면서 성별이 남자이거나, 아이디가 짝수이면서 소속사가 YG엔터테인먼트인 데이터를 나이별로 정렬하기

    • 홀수 ---> ( id % 2 ) = 1
    • 짝수 ---> ( id % 2 ) = 0

  • NOT 문법 : 조건을 만족하지 않는 경우 TRUE
    (예제6) 생일이 1990년 이후이면서 여자가 아니거나, 생일이 1979년 이전이면서 소속사가 안테나가 아닌 데이터를 검색하기

    (예제7) celeb 테이블에서 직업이 가수가 아니면서 성별이 여자이거나, 나이가 40보다 작지 않으면서 아이디가 홀수인 데이터를 조회
  • BETWEEN 문법 : 조건값이 범위 사이에 있으면 TRUE

    BETWEEN A and B = A 이상 ~ B 이하 (A>= and B<=)


(예제8) 소속사가 나무엑터스, 안테나, 울림엔터테인먼트가 아니면서, 성별이 여자이거나 나이가 45세 이상인 데이터를 검색

  • IN 문법 : 조건값이 목록 안에 있으면 TRUE
    ( OR 조건문과 같은 결과값 나옴)
  • LIKE 문법 : 조건값이 패턴에 맞으면 TRUE

    (예제9) 'YG'로 시작하는 소속사 이름을 가진 데이터를 검색

    (예제10) '엔터테이먼트'로 끝나는 소속사 이름을 가진 데이터를 검색

    (예제11) 직업명에 '가수'가 포함된 데이터를 검색

    (예제12) 소속사 이름의 두번째 글자가 G인 데이터를 검색

    (예제13) 직업명이 '가'로 시작하고 최소 2글자 이상인 데이터 검색

    (예제14) 직업명이 '가'로 시작하고 최소 5글자 이상인 데이터 검색 : ( _ x4개)

    (예제15) 직업명이 '영'으로 시작하고 '모델'로 끝나는 데이터 검색

    (예제16) 영화배우와 텔런트를 병행하는 연예인 검색

    (예제17) 직업이 하나 이상인 연예인 중 영화배우 혹은 텔런트가 아닌 연예인 검색

    (예제18) celeb 테이블에서 아이유, 이미주, 유재석, 송강 중에 소속사 이름이 '나무'로 시작하는 데이터 조회

    (예제19) celeb 테이블에서 아이유, 이미주, 송강, 이수현 중에 가수만 직업으로 가졌거나, 가수를 병행하지 않고 탤런트를 하는 사람 찾기

0개의 댓글