mysql 18

[MySQL] 프로그래머스 조건에 맞는 도서와 저자 리스트 출력

문제:'경제' 카테고리에 속하는 도서들의 도서 ID(BOOK_ID), 저자명(AUTHOR_NAME), 출판일(PUBLISHED_DATE) 리스트를 출력 해결방법:1. BOOK 과 AUTHOR 테이블은 AUTHOR_ID 로 JOIN2. 출판일은 DATE_FORMAT() 으로 변환 후 출력3. WHERE 절에서 카테고리 '결제' 로 설정 예시 코드:SELECT BOOK_ID, AUTHOR_NAME, DATE_FORMAT(PUBLISHED_DATE, '%Y-%m-%d') AS PUBLISHED_DATEFROM BOOKINNER JOIN AUTHORON BOOK.AUTHOR_ID = AUTHOR.AUTHOR_IDWHERE CATEGORY = '경제'ORDER BY PUBLISHED_DATE;

[SQL] 연습 2024.09.15

[MySQL] 자동차 종류 별 특정 옵션이 포함된 자동차 수

문제: '통풍시트', '열선시트', '가죽시트' 중 하나 이상의 옵션이 포함된 자동차가 자동차 종류 별로 몇 대인지 출력 - 자동차 수에 대한 컬럼명은 CARS로 지정- 자동차 종류를 기준으로 오름차순 정렬  해결방법:1. 여러가지 옵션을 WHERE 절에서 REGEXP 로 설정2. 종류별 몇 대인지는 GROUP BY 사용3. ORDER BY 오름차순 정렬 예시 코드:SELECT CAR_TYPE, COUNT(*) CARSFROM CAR_RENTAL_COMPANY_CARWHERE options REGEXP '통풍시트|열선시트|가죽시트'GROUP BY car_typeORDER BY CAR_TYPE;

[SQL] 연습 2024.09.14

[MySQL] 프로그래머스 12세 이하인 여자 환자 목록 출력하기

문제:12세 이하인 여자환자의 환자이름, 환자번호, 성별코드, 나이, 전화번호를 조회- 전화번호가 없는 경우, 'NONE'으로 출력- 결과는 나이를 기준으로 내림차순 정렬하고, 나이 같다면 환자이름을 기준으로 오름차순 해결방법:1. SELECT 에서 전화번호가 없는 경우에 대해서 IFNULL() 로 처리2. WHERE 절에서 12세 이하, 여자 환자 조건 설정3. ORDER BY 로 정렬 순서 정하기 예시 코드:SELECT PT_NAME, PT_NO, GEND_CD, AGE, IFNULL(TLNO, "NONE") AS TLNOFROM PATIENTWHERE AGE

[SQL] 연습 2024.09.08

[MySQL] 프로그래머스 흉부외과 또는 일반외과 의사 목록

문제: 진료과가 흉부외과(CS)이거나 일반외과(GS)인 의사의 이름, 의사ID, 진료과, 고용일자를 조회하는 SQL문- 결과는 고용일자순 내림차수, 이름 오름차순 정렬- 고용일자는 'YYYY-mm-dd' 형식 해결방법:1. WHERE 절에서 진료과가 'CS' or 'GS' 만 출력하도록 함2. ORDER BY 로 고용일자 DESC, 이름 ASC3. DATE_FORMAT() 함수로 일자 출력 양식 변경 예시 답안:SELECT DR_NAME, DR_ID, MCDP_CD, DATE_FORMAT(HIRE_YMD, '%Y-%m-%d') AS HIRE_YMDFROM DOCTORWHERE MCDP_CD = 'CS' OR MCDP_CD = 'GS'ORDER BY HIRE_YMD DESC, DR_NAME ASC;

[SQL] 연습 2024.08.24

[MySQL] 프로그래머스 경기도에 위치한 식품창고 목록 출력하기

문제:FOOD_WAREHOUSE 테이블에서 경기도에 위치한 창고의 ID, 이름, 주소, 냉동시설 여부를 조회- 냉동시설 여부의 값이 NULL 인 경우 'N' 으로 출력- 창고는 경기도에 위치해야 함- ID 에 따른 오름차순 출력 해결방법:1. IFNULL() 함수를 사용해서 냉동시설 여부의 값이 NULL 인 경우 'N' 으로 출력하도록 처리2. WHERE 절에 LIKE 를 사용해서 이름에 '경기' 가 포함된 경우만 출력하도록 처리3. ORDER BY 로 오름차순 출력 예시 코드:SELECT WAREHOUSE_ID, WAREHOUSE_NAME, ADDRESS, IFNULL(FREEZER_YN, 'N') AS FREEZER_YNFROM FOOD_WAREHOUSEWHERE WAREHOUSE_NAME LIKE ..

[SQL] 연습 2024.08.18

[SQL] 프로그래머스 대장균들의 자식의 수 구하기

문제: 대장균 개체(ID)와 자식의 수(CHILD_COUNT)를 출력하는 SQL 작성- 자식이 없다면 자식의 수는 0으로 출력- 결과는 개체의 ID에 대해 오름차순 정렬 해결방법:1. ECOLI_DATA 테이블에서 'ID' 컬럼을 구한다 → 테이블에서의 전체 개체(ID) 출력2. ECOLI_DATA 테이블에서 GROUP BY 로 'PARENT_ID' 별 레코드 수 계산 → 각 PARENT 별 자식 수 카운트 가능3. 자식이 없는 ID 도 있으므로 1번 결과 테이블과 2번 결과 테이블을 LEFT OUTER JOIN 을 해서 모든 ID 에 대해 자식 수가 표시될 수 있도록 함.4. 이 때, 자식 수가 없는 경우 NULL 이므로 IFNULL() 규칙으로 처리해주면 된다. 코드 예시SELECT A.ID, IFN..

[SQL] 연습 2024.08.16

서버에서 MySQL(MariaDB) 원격 연결 설정 - 추가

추가1. DB default charset 변경DB를 생성하면서 charset을 따로 설정하지 않았을 경우 기본적으로 latin1 으로 설정이 된다. 아래는 기본 언어를 utf8mb4 로 변경하기 위한 과정을 기록한 내용이다.일단 my.cnf 파일을 연다.$ sudo vi /etc/mysql/my.cnf ------------ # vi 편집화면 [client] default-character-sest = utf8mb4 [mysqld] character-set-client-handshake = FALSE chracter-set-server = utf8mb4 collation-server = utf8mb4_general_ci [mysqldump] default-character-set = utf8mb4 [m..

Server 2022.09.02

서버에서 MySQL(MariaDB) 원격 연결 설정

Description1. Server 자원 접속2. MySQL 설치 (+MariaDB)3. DB 권한 설정 (MySQL, MariaDB)4. 원격 접속 허용 설정4-1. 설정 파일 찾기4-2. 설정 파일 변경4-3. DB 재시작5. 새로운 유저 생성참고자료Description1. Server 자원 접속⚙mac OS 작업 환경 기준 서버 운영체제는 Ubuntu 기준macOS는 기본적으로 UNIX 기반의 운영체제 → 그렇기 때문에 OpenSSH Client를 기본으로 포함키 파일의 권한을 400으로 변환하여 가능 권한을 맞추고 아래와 같은 명령어를 통해서 서버에 접속# pem 파일 400 권한으로 변경 $ chmod 400 # 예: chmod 400 /Users/simon/key.pem # 접속 $ ssh ..

Server 2022.09.01

[mysql] 프로그래머스 우유와 요거트가 담긴 장바구니

오늘은 프로그래머스 sql 문제 중에 '우유와 요거트가 담긴 장바구니' 문제를 풀어보도록 하겠습니다. 난이도는 Level 4 이며, JOIN을 알고 있으면 풀 수 있을 것 입니다. 언어는 mysql로 풀이하였습니다. 문제 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 풀이과정 이 문제의 기본은 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회할 수 있어야 합니다. select distinct(a.cart_id) from (select * from cart_products where name = "..

[SQL] 연습 2022.07.22