본문 바로가기
SQL

SQL 3일차 - 데이터 가져오기

by 푸리세상 2024. 3. 27.
728x90

1. 값을 가져오는 컬럼 선택 쿼리

  - SELECT

 


2. 테이블에서 데이터 가져오기

  1) 데이터를 가져올 테이블을 지정하는 키워드 : FROM

 

  2) SELECT  활용법

      - 숫자, 문자 데이터를 가지고 올 수 있음

      - 컬럼을 선택해 컬럼의 값을 가져올 수 있음

        (SELECT [컬럼 이름] 형식

      - *를 통해 컬럼 전체를 가져올 수 있음

        (SELECT * 형식)

--컬럼을 하나만 선택
SELECT [컬럼 이름]
FROM [데이터베이스 이름].[테이블 이름];
--컬럼을 여러개 선택
SELECT [컬럼 이름], [컬럼 이름],...[컬럼 이름]
FROM [데이터베이스 이름].[테이블 이름];
--컬럼 전체를 선택
SELECT *
FROM [데이터베이스 이름].[테이블 이름];
--데이터베이스 지정
USE [데이터베이스 이름];

SELECT [컬럼 이름]
FROM [테이블 이름];

 

 

 

※ 예시1> pokemon 데이터베이스의 myoldpokemon 테이블인 eng_name 값을 가져오기

SELECT eng_name
FROM pokemon.myoldpokemon;

 

 

 

※ 예시2> pokemon 데이터베이스의 myoldpokemon 테이블 전체값을 가져오기

SELECT *
FROM pokemon.myoldpokemon;

 

 


 3. 별명 붙이기(ALIAS)

   1) 가져온 데이터에 별명을 지정하는 키워드 : AS

     - AS [컬럼 별명] 형식

SELECT [컬럼 이름] AS [컬럼 별명]
FROM [테이블 이름];

 

 

※ 예시1> myoldpokemon 테이블에서 number 컬럼의 이름을 national_number로 변경

SELECT number AS national_number
FROM pokemon.myoldpokemon;

 

 


 4. 데이터 일부만 가져오기

   1) 가져올 데이터의 로우 개수를 지정하는 키워드 : LIMIT

     - LIMIT [로우 수] 형식

     - 쿼리의 가장 마지막에 위치

     - 입력한 숫자가 전체 row 수보다 크다면 있는 row만 가져옴.

 

 

※ 예시1> myoldpokemon 테이블의 number, eng_name 컬럼의 2개의 row값만 가지고 오기

SELECT number, eng_name
FROM pokemon.myoldpokemon
LIMIT 2;

 

 


5. 중복 제거하기

  1) 중복된 데이터는 제외하고 같은 값은 한번만 가져오는 키워드 : DISTINCT

     - DISTINCT [컬럼 이름] 형식

     - SELECT 절에 위치.

 

 

※ 예시1> myoldpokemon 테이블에 type 컬럼에서 중복된 데이터를 제외시키고 한번만 가져오기

SELECT DISTINCT type
FROM pokemon.myoldpokemon;

myoldpokemon 테이블 전체 데이터 조회

 

중복값 제외

 

 


6. 실습

 1) 실습1 : 123 곱하기 456 계산값 가져오기

SELECT 3*3;

 

 

 

  2) 실습2 : 2310 나누기 30 계산값 가져오기

SELECT 2310/30;

 

 

  3) 실습3 : 피카츄라는 문자열을 포케몬이라는 이름의 컬럼 별명으로 가져오기

SELECT "피카츄" AS "포켓몬";

 

 

 

  4) 실습4 : mypokemon 테이블에서 모든 포켓몬들의 컬럼과 값 전체 가져오기

SELECT * 
FROM pokemon.mypokemon;

 

 

 

  5) 실습5 :  mypokemon 테이블에서 모든 포켓몬들의 이름 가져오기

SELECT name
FROM pokemon.mypokemon;

 

 

 

  6) 실습6 : mypokemon 테이블에서 모든 포켓몬들의 이름과 키, 몸무게를 가져오기

SELECT name, height, weight
FROM pokemon.mypokemon;

 

 

 

  7) 실습7 : pokemon 테이블에서 포켓몬들의 키를 중복 제거하고 가져오기

SELECT DISTINCT height
FROM pokemon.mypokemon;

 

 

 

  8) 실습8 : pokemon 테이블에서 모든 포켓몬들의 공격력 값을 2배 하고 컬럼명을 'attack2'라는 별명으로 이름과 함께 가져오기

SELECT name, attack*2 AS attack2
FROM pokemon.mypokemon;

 

 

 

  9) 실습9 : pokemon 테이블에서 모든 포켓몬들의 이름을 '이름'이라는 한글 별명으로 가져오기

SELECT name AS "이름"
FROM pokemon.mypokemon;

 

 

 10) 실습10 : pokemon 테이블에서 모든 포켓몬들의 공격력은 '공격력'이라는 한글 별명으로 바꾸고 방어력은 '방어력'이라는 한글 별명으로 가져오기

SELECT attack AS "공격력", defense AS "방어력" 
FROM pokemon.mypokemon;

 

 

 

  11) 실습11 : pokemon 테이블에서 첫번째 로우에 위치한 포켓몬 데이터만 컬럼 값 전체를 가져오기

SELECT * 
FROM pokemon.mypokemon
LIMIT 1;

 

 

  12) 실습12 : pokemon 테이블의 height 컬럼은 m단위(1m = 100cm)이고 모든 포켓몬들의 키를 m에서 cm 단위로 환산하여 height(cm)라는 별칭으로 이름을 가져오기

SELECT height*100 AS "height(cm)"
FROM pokemon.mypokemon;

 

 

  13) 실습13 : pokemon 테이블에서 2개의 포켓몬 데이터만 name 컬럼은 '영문명'이라고 별칭주고 키는 '키(cm)', 몸무게는 '몸무게(kg)'라고 별칭줘서 가져오기

SELECT name AS "영문명", height AS "키(m)", weight AS "몸무게(kg)"
FROM pokemon.mypokemon
LIMIT 2;

 

 

 

  14) pokemon 테이블에서 모든 포켓몬들의 이름과 능력치의 합을 구하고 능력치의 합 컬럼명은 'total'이라고 별칭해서 가져오기(단, 능력치의 합은 공격력, 방어력, 속도의 합이다.)

SELECT name, attack+defense+speed AS "total"
FROM pokemon.mypokemon;

 

 

  15) 실습15 : pokemon 테이블에서 모든 포켓몬의 BMI 지수를 구해서 컬럼명은 'BMI'이라고 별칭해서 가져오기

        (단, name 컬럼도 같이 가져오고 BMI 계산은 weight 나누기 height의 제곱이다.)

--제곱은 "^" 부호로 표현
SELECT name, weight/height^2 AS "BMI"
FROM pokemon.mypokemon;


실습까지 해보니깐 기본기를 알아야 응용도 할 수 있는것을 알게되었습니다!!!

열심히 고민해보면서 풀어보고 강의를 보면서 실습에 나오는 결과값이 나오는 과정을 알 수 있어서 정말 좋았어요~ 계속 연습을 통해서 쿼리 쓰는걸 익숙해지도록 하는게 중요할 것 같아요!

728x90