SQL ZOO[MySQL] SELECT from Nobel Tutorial

2022. 3. 1. 13:57Site/SQL ZOO

nobel 테이블
nobel 테이블에서 1950년의 노벨수상자의 모든 정보 조회
nobel 테이블에서 1962년에 Literature 수상자 조회
nobel 테이블에서 'Albert Einstein'의 수상자의 yr, subject 조회
nobel 테이블에서 2000년 이상의 subject가 Peace인 수상자 조회  
nobel 테이블에서 1980년 - 1989년 사이의 subject가 Literature인 수상자의 모든 정보 조회

*

모든 정보를 조회하고 싶으면 *표시를 작성하면 됩니다

*

nobel 테이블에서 대통령 수상자의 모든 정보 조회
nobel 테이블에서 John으로 시작하는 이름을 가진 수상자 조회
nobel 테이블에서 1980년의 Phsics 수상자와 1984년의 Chemistry 수상자의 yr, subject, winner의 정보 조회
nobel 테이블에서 1980년의 Chemistry와 Medicine부분의 수장자를 제외한 yr, subject, winner의 정보 조회

*

sql에서 같지않다를 표현하는 연산자 : !=, ^=, <>

리스트를 이용하여 NOT IN 연산자를 통해서도 표현이 가능합니다

NOT IN 사용방법 : IN 과 마찬가지로 NOT IN 다음에는 리스트 형이 와야됩니다 ex) NOT IN(list)

 

NOT IN 연산자 이용

*

nobel 테이블에서 1910이후에 Medicine 수상자이거나 2004년이후 Literature 수상자의 yr, subject, winner의 정보 조회
nobel 테이블에서  수상자 PETER GRÜNBERG의 모든 정보 조회
nobel 테이블에서 수상자 EUGENE O'NEILL의 모든 정보 조회

* 특수문자 '를 표시하고 싶으면 -> ''를 연달아 붙여주면 됩니다 * 

 

nobel 테이블에서 최신날짜, 이름순서, 수상자의 이름이 Sir로 시작하는 winner, yr, subject의 정보 조회

*

ORDER BY는 내림차순, 오름차순으로 정렬을 하고 싶을때 필요합니다 [따로 표시를 안하면 기본값은 오름차순]

ORDER BY DESC : 내림차순

ORDER BY ASC : 오름차순

cf) ORDER BY(열의 이름)이 기본이자만 ()안에 열을 나타내는 숫자, alias도 나타낼수 있습니다

     ex) ORDER BY 5 : 5번째 열을 기준으로 정렬, ORDER BY 2, 1 DESC : 오름차순으로 정렬한 2열 기준으로 1열 내림차순 정렬

*

 

nobel 테이블에서 1984년에 수상한 winner, subject순으로 오름차순하여 정렬하여 조회[Chemistry. Physocs는 마지막]

*

이 문제의 또다른 방법은 CASE 문을 활용하는 겁니다

사용방법 : 조건이 1 -> 값 1을 반환 그렇지 않으면 값 2을 반환

CASE 컬럼  

     WHEN 조건1 THEN 값1 

      ELSE 값2

      END 

*

'Site > SQL ZOO' 카테고리의 다른 글

SQL ZOO[MySQL] SELECT within SELECT Tutorial  (0) 2022.03.04
SQL ZOO[MySQL] Nobel Quiz  (0) 2022.03.01
SQL ZOO[MySQL]BBC QUIZ  (0) 2022.02.28
SQL ZOO[MySQL] SELECT from WORLD Tutorial  (0) 2022.02.28
SQL ZOO[MySQL] SELECT Quiz  (0) 2022.02.27