SQL 26

[Lv.1] 인기있는 아이스크림 [SELECT, ORDER BY]

문제 해결을 위한 개념 정리 ✅ SELECT, ORDER BY아래 자료 참고 여러 기준으로 정렬하기 [select, order by desc]문제 파악 출력할 컬럼 : ANIMAL_ID, NAME, DATETIME ⇒ SELECT 데이터를 가져올 테이블 : ANIMAL_INS ⇒ FROM 조회 순서 : NAME, DATETIME 내림차순 ⇒ ORDER BY 문제 해결을 위한 쿼리문 ✅ select columns from databases; 데seheehee.tistory.com 문제 해결 코드 SELECT FLAVORFROM FIRST_HALFORDER BY TOTAL_ORDER DESC, SHIPMENT_ID ASC;

Technique/MySQL 2024.08.18

[Lv.1] 조건에 부합하는 중고거래 댓글 조회하기[DATE_FORMAT, YEAR, MONTH]

문제 해결을 위한 개념 정리 ✅ DATE_FORMAT아래 자료 참고 흉부외과 또는 일반외과 의사 목록 출력하기[DATE_FORMAT]문제 해결을 위한 개념 정 ✅ DATE_FORMAT: 날짜 포맷팅 함수→ DATE_FORMAT(DATE, 'FORMAT') FORMAT설명FORMAT설명%Y4자리 년도(1999, 2024)%y2자리 년도(99, 24)%M월(Janeary, May...)%m월(01, 02..)%D일(1st, 2nd...)%d일(01, 25...)seheehee.tistory.com  ✅ YEAR, MONTH1) YEAR() 함수 → 1000~9999 사이의 숫자로 반환되며, 날짜에서 '년도'만 반환YEAR('2021-09-03 02:23:44')>> 2021 2) MONTH() 함수→ 1~1..

Technique/MySQL 2024.08.18

[Lv.2] 3월에 태어난 여성 회원 목록 출력하기[DATE_FORMAT, IS NOT NULL]

문제 해결을 위한 개념 정리 ✅ DATE_FORMAT참고자료 흉부외과 또는 일반외과 의사 목록 출력하기[DATE_FORMAT]문제 해결을 위한 개념 정 ✅ DATE_FORMAT: 날짜 포맷팅 함수→ DATE_FORMAT(DATE, 'FORMAT') FORMAT설명FORMAT설명%Y4자리 년도(1999, 2024)%y2자리 년도(99, 24)%M월(Janeary, May...)%m월(01, 02..)%D일(1st, 2nd...)%d일(01, 25...)seheehee.tistory.com ✅ IS NOT NULL참고자료 NULL 처리하기 [ifnull, coalesce]문제 파악출력할 컬럼 : ANIMAL_TYPE, NAME, SEX_UPON_INTAKE ⇒ SELECT데이터를 가져올 테이블 : ANIMA..

Technique/MySQL 2024.08.16

[Lv.1] 과일로 만든 아이스크림 고르기 [LEFT JOIN]

문제 해결을 위한 개념 정리  ✅ LEFT JOIN1) JOIN 2) LEFT JOIN: LEFT 테이블을 기준으로 ON으로 걸어준 조건을 만족하는 다른 테이블의 값들을 가져와 붙임# 예시코드SELECT I.ANIMAL_ID, I.NAMEFROM ANIMAL_INS I LEFT JOIN ANIMAL_OUTS O # alias 이용>> ANIMAL_INS 테이블을 기준으로 JOIN하므로>> ANIMAL_INS 테이블의 모든 값(ON 조건 만족 안하는 row도 모두 출력)과>> ANIMAL_INS 테이블과 `ANIMAL_ID` 가 동일한 값들을 가지는 ANIMAL_OUTS 테이블의 row를 붙여줍니다.  ** ALIAS : 테이블 별칭▶ 같은 컬럼명을 가진 두 개의 테이블일 경우 꼭꼭 ALIAS 이용하자! ..

Technique/MySQL 2024.08.16

[Lv.1] 평균 일일 대여 요금 구하기 [SELECT, ROUND]

출력할 컬럼 : AVERAGE_FEE   ⇒ SELECT 데이터를 가져올 테이블 : CAR_RENTAL_COMPANY_CAR   ⇒ FROM조건 : 자동차의 종류가 'SUV'  ⇒ WHERE출력 조건 : 소수 첫 번째 자리에서 반올림  ⇒ ROUND\ 문제 해결을 위한 개념 정리 ✅ ROUND: 소수점 반올림 함수1) 사용 방법 → ROUND(수치값, 반올림 자릿수) 2) 사용 예시SELECT ROUND(123.567,0) >> 소수점 모두 반올림 ROUND(123.567,1) >> 소수점 첫 번째 자리까지 반올림 = 소수점 두 번째 자리에서 반올림 ROUND(123.567,2) >> 소수점 두 번째 자리까지 반올림 >> 124 >> 1..

Technique/MySQL 2024.08.16

[Lv.2] 가격대 별 상품 개수 구하기 [case when, between]

문제 파악출력할 컬럼 : 만원 단위의 가격대 별 상품 개수 ⇒ SELECT데이터를 가져올 테이블 : product ⇒ FROM조회 순서 : 가격대 기준 오름차순⇒ ORDER BY적용할 조건 : 만원 단위의 가격대 별로 숫자 집계 ⇒ Case when 문제 해결 과정 💡 Case when✅ 조건에 따라 구분하고 싶을 때 사용# + 등급 나누기SELECT U.USERID, U.NAME, SUM(B.PRICE*B.AMOUNT) AS `TOTAL_PRICE`, ## IF 문과 같이 WHEN 조건에 순차적으로 걸리고, # ELSE를 통해 나머지를 처리할 수 있다 CASE # WHEN 안에 별칭을 쓰면 실행이 안된다!! 이 멍청한...SQL.. WHEN( SUM(B.PRICE*B.AMOUNT) >=1..

Technique/MySQL 2024.05.06

[Lv.2] 재구매가 일어난 회원 리스트 [group by, having, count]

문제 파악출력할 컬럼 : 재구매한 회원 ID, 재구매한 상품 ID ⇒ SELECT데이터를 가져올 테이블 : ONLINE_SALE ⇒ FROM조회 순서 : 회원 ID 기준 오름차순, 같다면 상품 ID 기준 내림차순 ⇒ ORDER BY적용할 조건 : “동일한 회원”이 “동일한 상품”을 재구매한 데이터 count ⇒ COUNT 문제 해결 과정 💡 Group by, Having아래 글 참고!  동명 동물 수 찾기 [group by, having]문제 파악 출력할 컬럼 : 동물의 이름, 이름이 쓰인 횟수 ⇒ SELECT 데이터를 가져올 테이블 : ANIMAL_INS ⇒ FROM 조회 순서 : 이름 순 ⇒ ORDER BY 집계할 내용 : 이름이 없는 동물을 제외하고, 이름이 쓰seheehee.tistory.com..

Technique/MySQL 2024.05.06

[Lv.2] 중복 제거하기 [count, distinct]

문제 파악출력할 컬럼 : 동물 이름의 갯수 ⇒ SELECT데이터를 가져올 테이블 : ANIMAL_INS ⇒ FROM문제 조건 : 중복 누적 x, null값도 집계 x ⇒ ??? 문제 해결 과정 💡 Distinct✅ 중복되는 데이터가 있다면, 하나만 count (중복 제거해라!)SELECT DISTINCT 컬럼 FROM 테이블; ⚡ 주의사항⇒ MySQL에서는 DISTINCT 할 때 ( )의 의미가 없다. 한 개의 컬럼에만 적용하고 싶다면, GROUP BY를 사용########### DISTINCT ################# 이렇게 하면 의도하지 않은 결과가 출력될 것.SELECT DISTINCT (U.USERID), U.NAME, U.ADDR, B.PRODNAMEFROM BUYTBL B INNER ..

Technique/MySQL 2024.05.06

[Lv.2] NULL 처리하기 [ifnull, coalesce]

문제 파악출력할 컬럼 : ANIMAL_TYPE, NAME, SEX_UPON_INTAKE ⇒ SELECT데이터를 가져올 테이블 : ANIMAL_INS ⇒ FROM조회 순서 : ANIMAL_ID 순 ⇒ ORDER BY요구 조건 : 이름이 없는 동물의 이름은 "No name"으로 표시 NULL을 처리하는 여러 가지 방법 ✅ IFNULL format : IFNULL(컬럼명, 대체할 값)→ 해당 컬럼에 NULL이 있으면 대체할 값을 출력IFNULL(NAME, "No name") ✅ IFformat : IF(조건식, 두 번째 인자, 세 번째 인자)→ 만약, 조건식이 True 이면 두번째 인자를, false이면 세 번째 인자를 반환→ IF(컬럼명 is null then 대체할 값) : 만약 컬럼명이 null이면 대체..

Technique/MySQL 2024.05.06

[SQL] 03-3. MySQL 기본

03-3. MySQL 기본 데이터베이스 자료형 Char VS varcharchar : 문자열varchar : 가변적인 문자열 Open DataBase Connectivitiy(ODBC)✅ 응용 프로그램과 데이터베이스 간의 연결통⇒ 응용프로그램에서 데이터에 접근할 때 어떠한 DBMS를 사용하는지 의식할 필요 없이 접근할 수 있다 백틱(backtick) (`)✅ 테이블 명에 공백이 들어가는 경우 사용ex) `member tbl` → 이 경우 따옴표를 사용하면 오류가 나게 된다. Query(쿼리)✅ 정보를 검색하기 위해 데이터베이스에 사용자가 보내는 요청   하위 쿼리(서브쿼리)✅ SQL은 하나의 쿼리문이 다른 변수로 치환이 되지 않기 때문에, 쿼리 안에 쿼리가 들어가는 하위 쿼리의 사용이 빈번하다.  Tod..