SQL

    IF, SUM IF, IFNULL, CASE WHEN

    IF SELECT절에 사용 SELECT IF(조건, 참일때값, 거짓일때값) IFNULL IS NULL은 데이터가 NULL인지 아닌지 확인 IFNULL(컬럼, NULL일때값) SELECT절에서 사용하는 함수 IF mission 1) SELECT name, IF(number100 AND defense>100, True, False) AS ace FROM mypokemon; SUM (IF) select user_id from ( SELECT user_id , count(1) as cnt1 , sum( IF( item='device', 1, 0)) as cnt2 FROM tb_payment group by user_id ) AS tmp where cnt1 = cnt2 모든 고객의 id, 총 캐시 구매액, 총 기..

    GROUP BY, Having 실습

    ㄹㅇ mission 1) SELECT type, AVG(height) FROM mypokemon GROUP BY type; mission 2) SELECT type, AVG(weight) FROM mypokemon GROUP BY type; mission 3) SELECT type, AVG(height), AVG(weight) FROM mypokemon GROUP BY type; mission 4) SELECT type FROM mypokemon GROUP BY type HAVING AVG(height)>=0.5; mission 5) SELECT type FROM mypokemon GROUP BY type HAVING AVG(weight)>=20; mission 6) SELECT type, SUM(num..

    숫자형데이터 실습

    mission 1) SELECT type, AVG(weight) FROM pokemon.mypokemon WHERE LENGTH(name)>5 GROUP BY type HAVING AVG(weight)>=20 ORDER BY 2 DESC ; mission 2) SELECT type, MIN(height), MAX(height) FROM pokemon.mypokemon WHERE number=10 and MIN(weight)>=2 ORDER BY 2 DESC, 3 DESC; 테이블 생성하기 DROP DATABASE IF EXISTS pokemon; CREATE DATABASE pokemon; USE pokemon; CREATE TABLE mypokemon( number INT, name VARCHAR(20..

    쿼리실행순서

    쿼리 실행순서 5 SELECT 1 FROM 2 WHERE 조건식 3 GROUP BY 4 HAVING 조건식 6 ORDER BY

    문자형 데이터 실습

    숫자형 데이터 ABS, CEILING, ROUND, POWER, MOD ABS(숫자)=숫자의 절댓값 반환 CEILING=정수로 올림해서 반환 FLOOR=정수로 내림해서 반환 ROUND=소숫점 자릿수까지 반올림해서 반환 TRUNCATE=소수점 자릿수까지 버림해서 반환 POWER(10, 2)=10의 2제곱 반환 MOD(10,5)=10을 5로 나눈 나머지 반환 따라서 2로 나누면 짝수인지 홀수인지 확인가능 mission1) SELECT name, LENGTH(name) FROM mypokemon ORDER BY LENGTH(name); mission2) SELECT name, RANK() OVER (ORDER BY defense DESC) AS defense_rank FROM mypokemon mission3..

    문자열데이터(LENGTH, CONCAT, Locate, SUBSTR, LEFT, UPPER, Replace

    ORDER BY 기본정렬규칙 = 오름차순 ORDER BY = ORDER BY ASC 내림차순 정렬 ORDER BY DESC LENGTH : 문자열의 글자수 반환 LENGTH("abc")=3 CONCAT : 문자열 합치기 CONCAT("ABC","DEF") CONCAT(LEFT(regymd,4), '년') SELECT part, LOCATE('i', lyric) FROM bts_music.butter; SUBSTRING *문자열에서 2번쨰 문자열부터 반환 SUBSTRING("abc", 2) SELECT part, SUBSTRING(lyric,3) FROM bts_music.butter; RIGHT("ABC", 1) -- ABC 오른쪽 1번째 문자까지 반환 LEFT(regymd, 4) -- ABC 왼쪾 4번..

    비교연산자, LIKE, BETWEEN, IN 예제

    mission 1) USE pokemon; SELECT type FROM mypokemon WHERE name='eevee'; mission 2) SELECT attack, defense FROM mypokemon WHERE name ='catepie'; mission 3) SELECT * FROM mypokemon WHERE weight >6 ; mission 4) SELECT name FROM mypokemon WHERE height>0.5 AND weight>=6; mission 5) SELECT name AS weak_pokemon FROM mypokemon WHERE attack

    Where, 비교 연산자,

    SELECT mem_uno FROM billing WHERE 구매횟수>=10; TRUE=1 FALSE=0 비교연산자 : =, 논리연산자 = NOT, AND OR 기타연산자 = BETWEEN 같지않다 !=, USE pokemon; SELECT number FROM mypokemon WHERE name='pikachu'; WHERE : 조건식이 TRUE가 되는 raw만 선택 SELECT name FROM mypokemon WHERE speed>50; SELECT name FROM mypokemon WHERE type!='electric'; 논리연산자, AND OR NOT SELECT name FROM mypokemon WHERE speed

    CREATE, INSERT, SELECT 예제

    (mission1) CREATE DATABASE pokemon; /*ctrl+enter =실행하기*/ USE pokemon; CREATE TABLE mypokemon( number INT, name VARCHAR(20), type VARCHAR(10) ); /*ctrl+enter =실행하기*/ /*USE 사용안하기 -> 매번 pokemon. 적어야해서 불편*/ CREATE TABLE pokemon.mypokemon( number INT, name VARCHAR(20), type VARCHAR(10) ); INSERT INTO mypokemon(number, name, type) VALUES (10, 'caterpie', 'bug'), (25, 'pikachu', 'electric'), (133, 'eev..

    Create, Alter, Insert, Drop, Truncate, SQL 주석, Cast, Convert, Date_format, Concat

    SQL : Structured Query Language 구조화된 질의어 = 궁금한 데이터를 물어보는 언어 사용자 ↔ SQL ↔ DBMS ↔ DB DBMS종류 ORACLE MYSQL SQL SERVER Maria DB 컬럼/로우/데이터베이스 컬럼 - 컬럼 = 테이터 저장하기위한 틀 - 컬럼 = 저장공간에 데이터타입을 미리정한다 - 테이블은 반드시 1개이상의 컬럼을 가진다 로우 하나의 로우는 하나의 과계된 데이터를 의미 데이터베이스 데이터베이스 = 스키마 =테이블을 저장해두는 장소 = 컴퓨터에서 폴더와 비슷 MYSQL 워크밴치 - 번개모양에 커서모양 = 한줄실행 - 번개모양 = 전체실행 SQL 주석의 종류 # -- /* ~~~ */ : 여러줄일 때 열고 닫기 데이터타입 - 정수형 : int - 실수형 : ..