sql 13

[TIL] MySQL 문자열 함수

1. Replace(문자열, 타겟, replace)  :  문자열 중에 타겟에 해당하는 부분을 replace로 바꾼다SELECT REPLACE( 'Hello World' , 'World' , 'MySQL' );   -> World가 변형되어 Hello MySQL을 출력하게 됨  2.  LIKE : 문자열 패턴을 검색하는 연산자로 특정패턴을 만족하는 데이터를 조회할 때 사용한다.더보기SELECT 컬럼명 FROM 테이블명 WHERE 컬럼명 LIKE '패턴';  -> 컬럼명이 패턴인 것을 찾 %와 _ 를 추가적으로 사용하여 활용할 수도 있다. % : 0개 이상의 문자를 대체할 수 있는 와일드 카드 _ : 정확히 1개의 문자를 대체할 수 있는 와일드 카드 ex > SELECT * FROM users WHERE ..

SQL 2024.09.06

[TIL] DML이란?

DML( Data Manipulation Language) : 데이터 조작어DML은 데이터 조작어로 데이터베이스에 저장된 자료들을 입력, 수정, 삭제, 조회하는 언어이다.이러한 DML의 유형으로는 SELECT, INSERT, UPDATE, DELETE가 있다. 유형동작설명SELECT조회테이블 내 칼럼에 저장된 데이터를 조회INSERT삽입테이블 내 칼럼에 데이터를 추가UPDATE갱신테이블 내 칼럼에 저장된 데이터를 수정DELETE삭제테이블 내 칼럼에 저장된 데이터를 삭제  SELECT(데이터 조회) 명령어더보기SELECT 명령어는 데이터의 내용을 조회할 때 사용하는 명령어이다.SELECT 명령어는 SELECT절, FROM절, WHERE절, GROUP BY절, HAVING절, ORDER BY절로 구성된다. ..

데이터베이스 2024.08.30

마지막 연습 문제 !

다음과 같은 상품(products) 테이블과 주문(orders) 테이블이 있습니다.products 테이블id name price1랩톱12002핸드폰8003타블렛400orders 테이블id product_id quantity order_date101122023-03-01102212023-03-02103352023-03-04모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!각 상품 ID별로 판매된 총 수량(quantity)을 계산하는 쿼리를 작성해주세요!2023년 3월 3일 이후에 주문된 모든 상품의 이름을 나열하는 쿼리를 작성해주세요!가장 많이 판매된 상품의..

SQL연습문제 2024.08.29

10) 이젠 테이블이 2개입니다

다음과 같은 직원(employees) 테이블과 부서(departments) 테이블이 있습니다.employees 테이블id,  department_id,  name1101르탄이2102배캠이3103구구이4101이션이departments 테이블id,  name101인사팀102마케팅팀103기술팀현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!'기술팀' 부서에 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요!부서별로 직원 수를 계산하는 쿼리를 작성해주세요!직원이 없는 부서의 이름을 찾는 쿼리를 작성해주세요!'마케팅팀' 부서에만 속한 직원들의 이름을 나열하는 쿼리를 작성해주세요! A1.SELECT COUNT(DISTINCT de.*..

SQL연습문제 2024.08.29

9)아프면 안됩니다! 항상 건강 챙기세요!

의사가 있으면 당연히 의사에게 진료받는 환자가 있겠죠? 아래와 같은 patients(환자) 테이블이 있습니다.id,  name,  birth_date,  gender,  last_visit_date1르탄이1985-04-12남자2023-03-152배캠이1990-08-05여자2023-03-203구구이1982-12-02여자2023-02-184이션이1999-03-02남자2023-03-17patients 테이블에서 각 성별(gender)에 따른 환자 수를 계산하는 쿼리를 작성해주세요!patients 테이블에서 현재 나이가 40세 이상인 환자들의 수를 계산하는 쿼리를 작성해주세요!patients 테이블에서 마지막 방문 날짜(last_visit_date)가 1년 이상 된 환자들을 선택하는 쿼리를 작성해주세요!pati..

SQL연습문제 2024.08.28

8) LOL을 하다가 홧병이 나서 병원을 찾아왔습니다.

이제, 아래와 같은 doctors(의사) 테이블이 있습니다.id,  name,  major,  hire_date1르탄이피부과2018-05-102배캠이성형외과2019-06-153구구이안과2020-07-20doctors 테이블에서 전공(major)가 성형외과인 의사의 이름을 알아내는 쿼리를 작성해주세요!doctors 테이블에서 각 전공 별 의사 수를 계산하는 쿼리를 작성해주세요!doctors 테이블에서 현재 날짜 기준으로 5년 이상 근무(hire_date)한 의사 수를 계산하는 쿼리를 작성해주세요!doctors 테이블에서 각 의사의 근무 기간을 계산하는 쿼리를 작성해주세요! A1.SELECT name, major FROM doctors WHERE major = '성형외과';  A2.SELECT major, ..

SQL연습문제 2024.08.28

7) 랭크게임 하다가 싸워서 피드백 남겼어요…

아래와 같은 lol_feedbacks (LOL 피드백 테이블)이 있습니다.id,  user_name,  satisfaction_score,  feedback_date1르탄이52023-03-012배캠이42023-03-023구구이32023-03-014이션이52023-03-035구구이42023-03-04lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!lol_feedbacks 테이블에서 만족도 점수가 5점인 피드백의 수를 계산하는 쿼리를 작성해주세요!lol_feedbacks 테이블에서 가장 많은 피드백을 남긴 상위 3명의 고객을 찾는..

SQL연습문제 2024.08.28

6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!

아래와 같은 lol_users(LOL 유저 테이블)이 있습니다.id,  name, region, rating, join_date1르탄이한국13002019-06-152배캠이미국15002020-09-013구구이한국14002021-01-074이션이미국13502019-11-15lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)lol_users 테이블에서 가장 늦게 게임을 시작한(join_date) 유저의 이름을 선택하는 쿼리를 작성해주세요lol_users 테이블에서 지역별로 레이팅이 높은 순으로 유저들을 정렬해서..

SQL연습문제 2024.08.28

5) 공부하다보니 팀 프로젝트 시간이 왔어요!

공부를 한 결과를 점검하기 위해 팀 프로젝트를 수행해야 합니다! 이제, 아래와 같은 team_projects(프로젝트) 테이블이 있습니다.id name start_date end_date aws_cost1일조2023-01-012023-01-07300002꿈꾸는이조2023-03-152023-03-22500003보람삼조2023-11-202023-11-30800004사조참치2022-07-012022-07-3075000team_projects 테이블에서 AWS 예산(aws_cost)이 40000 이상 들어간 프로젝트들의 이름을 선택하는 쿼리를 작성해주세요!team_projects 테이블에서 2022년에 시작된 프로젝트를 선택하는 쿼리를 작성해주세요! 단, start_date 조건을 사용하지 말고 쿼리를 작성해..

SQL연습문제 2024.08.27

4) 이제 놀만큼 놀았으니 다시 공부해봅시다!

아래와 같은 sparta_students(학생) 테이블이 있습니다.id,  name,  track,  grade,  enrollment_year1르탄이Node.jsA20232배캠이SpringB20223구구이UnityC20214이션이Node.jsB2022sparta_students 테이블에서 모든 학생의 이름(name)과 트랙(track)을 선택하는 쿼리를 작성해주세요!sparta_students 테이블에서 Unity 트랙 소속이 아닌 학생들을 선택하는 쿼리를 작성해주세요!sparta_students 테이블에서 입학년도(enrollment_year)가 2021년인 학생과 2023년인 학생을 선택하는 쿼리를 작성해주세요!sparta_students 테이블에서 Node.js 트랙 소속이고 학점이 ‘A’인 학생..

SQL연습문제 2024.08.27