mysql 16

[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

[mysql] 프로그래머스 보호소에서 중성화한 동물

오늘은 프로그래머스 sql 문제 중에 '보호소에서 중성화한 동물' 문제에 대해서 풀어보도록 하겠습니다. 문제 난이도는 Level 4 문제이고 JOIN을 사용하면 풀 수 있다고 합니다. 문제 풀이에 사용한 언어는 mysql입니다. 이제 문제를 확인해 보겠습니다. 문제 보호소에서 중성화 수술을 거친 동물 정보를 알아보려 합니다. 보호소에 들어올 당시에는 중성화되지 않았지만, 보호소를 나갈 당시에는 중성화된 동물의 아이디와 생물 종, 이름을 조회하는 아이디 순으로 조회하는 SQL 문을 작성해주세요. (중성화를 거치지 않은 동물은 성별 및 중성화 여부에 Intact, 중성화를 거친 동물은 Spayed 또는 Neutered라고 표시되어있습니다.) 풀이과정 일단 두 가지 큰 조건이 있습니다. 1. 보호소에 들어올 ..

[SQL] 연습 2022.07.17

[mysql] solvesql 두 테이블 결합하기

오늘은 solvesql에 있는 '두 테이블 결합하기' 문제를 풀어보겠습니다. 난이도는 쉬움이며, 언어는 mysql로 하겠습니다. 문제 events 테이블(올림픽 경기 종목과 경기 이름)과 records 테이블(역대 올림픽 참가 선수들의 신체 정보와 획득한 메달 정보)을 활용해 올림픽 골프 종목에 참가한 선수의 ID를 모두 조회하는 쿼리를 작성해주세요. 풀이과정 일단 이 문제의 포인트만 살펴보자면, 올림픽 골프 종목에 참가한 선수의 ID를 모두 조회하라는 것입니다. 우리는 여기서 올림픽 종목에 대한 것은 events 테이블과 records 테이블에 있을 것이고, 참가한 선수의 ID는 records 테이블에 있을 것이라는 것부터 알아야합니다. 그렇다면 join 구문은 events 와 records 의 각 경..

[SQL] 연습 2022.07.16