2024/09 19

TIL 2024-09-30(GIT)

1.  필수 리눅스 명령어pwd (print working directory)현재 내가 작업하는 폴더를 보여달라는 뜻.  ls (list)내 폴더 안에 있는 폴더 & 파일 내역을 보여줌  ls -a (list all)숨겨진 파일 (보통 . 으로 시작함)도 모두 볼 수 있음  cd 폴더명 (change directory)ls 명령어에서 확인된 폴더로 이동 가능cd ..한 단계 위의 폴더 (즉 원래 있던 위치로 돌아가라는 뜻)cd 폴더명/폴더명 한 번에 여러 폴더 이동 가능( 들어가는 폴더 순서에 주의) mkdir 폴더명 (make directory)새로운 폴더 생성. touch 파일명현재 경로에서 파일을 생성하는 명령어  2. Git & Github의 개념Git 이란? 코드 변경점 기록.소프트웨어 개발에서..

TIL/GIT 2024.09.30

TIL 2024-09-25(SQL)

1. HAVINGHAVING : 조건 중에 그룹 함수를 포함하는 조건을 기술보통 GROUP BY와 같이 사용된다.   2. HAVING 과 WHERE의 차이.Having절은 WHERE절과 비슷하지만 그룹 전체 즉, 그룹을 나타내는 결과 집합의 행에만 적용된다.반면 WHERE절은 개별 행에 적용이 된다. having은 SQL select문이 집계 값이 지정된 조건을 충족하는 행만 반환하도록 지정하는 SQL절이다.where은 단일 테이블에서 데이터를 가져 오거나 여러 테이블과 결합하여 조건을 지정하는데 사용되는 SQL절이다. having절은 그룹을 필터링하는 데 사용된다.where절을 행을 필터링 하는데 사용된다. Having은 그룹화 또는 집계가 발생한 후 레코드를 필터링하는데 사용된다.Where은 그룹화..

TIL/SQL 2024.09.25

TIL 2024-09-24(SQL_달리기반 4.)

Lv4. 단골 고객님 찾기요구사항 고객별로 주문 건수와 총 주문 금액을 조회하는 SQL 쿼리를 작성해주세요.출력 결과에는 고객 이름, 주문 건수, 총 주문 금액이 포함되어야 합니다. 단, 주문을 한 적이 없는 고객도 결과에 포함되어야 합니다.기대결과 SELECT c.CustomerName, COUNT(CustomerID) OrderCount, SUM(TotalAmount) Totalspent FROM Orders o LEFT JOIN Customers c ON o.CustomerID = c.CustomerIDGROUP BY 1 두 데이터 테이블을 left join 해주고 공통된 데이터가 있는 컬럼으로 묶어준다.각 이름별로 주문 건수와 총 주문 금액을 알아야 하기에CustomerName을 GROUP BY ..

TIL 2024-09-23(SQL_달리기반 3.)

Lv3. 이용자의 포인트 조회하기상황 : 이번에는 이용자들 별로 획득한 포인트를 학생들에게 이메일로 보내려고 합니다. 이를 위한 자료를 가공해봅시다. 특히 users 테이블에는 있으나 point_users 에는 없는 유저가 있어요. 이 유저들의 경우 point를 0으로 처리합시다.데이터 설명 :users 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블입니다.user_id : 익명화된 유저들의 아이디(varchar255)created_at : 아이디 생성 날짜(timestamp)updated_at : 정보 업데이트 날짜(timestamp)name : 익명화된 유저들의 이름(varchar255)email : 이메일(varchar255)   point_users 테이블은 스파르타코딩..

TIL 2024-09-23(SQL_달리기반 2.)

Lv2. 날짜별 획득포인트 조회하기상황 : 이번에는 이용자들이 잘 활동하고 있는지 보고자 합니다. 포인트가 많을수록 활동을 잘하고 있다고 생각 할 수 있습니다. 날짜별로 획득한 포인트가 점점 늘어나는지 줄어드는지 확인해봅시다.데이터 설명point_users 테이블은 스파르타코딩클럽 가입 유저들의 포인트에 대한 정보를 기록한 테이블입니다.point_user_id : user_point 행을 구별하기 위한 key(varchar255)created_at : 아이디 생성 날짜(timestamp)updated_at : 정보 업데이트 날짜(timestamp)user_id : 익명화된 유저들의 아이디(varchar255)point : 보유하고 있는 포인트(int)문제 : 다음과 같은 결과 테이블을 만들어봅시다.cre..

TIL 2024-09-20(SQL_달리기반 1.)

Lv1. 데이터 속 김서방 찾기상황 : 여러분들은 스파르타코딩클럽의 분석가로 취직했습니다. DBeaver를 테스트 해볼 겸 "김"씨로 시작하는 이용자들 수를 세어 보기로 했습니다.데이터 설명.user 테이블은 스파르타 코딩클럽에 가입한 유저들의 정보를 날짜별로 기록한 테이블 입니다.user_id : 익명화된 유저들의 아이디(varchar255)created_at : 아이디 생성 날짜(timestamp)updated_at : 정보 업데이트 날짜(timestamp)name : 익명화된 유저들의 이름(varchar255)email : 이메일(varchar255)문제 : 다음과 같은 결과테이블을 만들어봅시다.name_cnt : "김"씨 성을 가지고 있는 교육생 수SELECT COUNT(DISTINCT(custo..

TIL 2024-09-20( JAVA_걷기반 반복문 연습하기 Part 1~3)

반복문 연습하기 Part 11부터 100까지 숫자 출력하기for 또는 while 반복문을 사용하여 1부터 100까지의 숫자를 출력하세요.public class Main { public static void main(String[] args) { for(int i=1; i for 반복문.for(초기식 ; 조건식; 증감식) 이렇게 작성한다고 생각하면 된다.조건문이 성립되면 증감을 반복하여 조건이 성립되지 않을 때 까지 반복하는 것이다. 초기식을 int i = 1을 주고 조건문이 성립될 때 마다 i를 출력하고 ++로 증가시켜준다.그리고 조건문에 i가 100이 넘어가면 반복문이 멈추도록 한다. 반복문 연습하기 Part 21부터 100까지의 짝수만 출력하기반복문을 사용하여 1부터 100까지의 숫..

TIL 2024-09-20( SQL_걷기반 마지막 문제 )

마지막 연습 문제 ! 모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요.SELECT p.name, o.idFROM products p LEFT JOIN orders o ON p.id = o.product_id주문 ID = orders.id, 상품의 이름 = products.name 이라고 생각하면된다.각 테이블마다 데이터 갯수가 동일하기 때문에 inner와 left 중 사용하고 싶은 것을 사용하면 된다.    총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요.SELECT p.id ,(p.price * o.quantity) salesFROM products p LEFT JOIN orders o ON p.id..

TIL 2024-09-19( SQL_걷기반 8~10 )

8) LOL을 하다가 홧병이 나서 병원을 찾아왔습니다. doctors 테이블에서 전공(major)이 성형외과인 의사의 이름(name)을 알아내는 쿼리를 작성해주세요.SELECT nameFROM doctors WHERE major LIKE '성형외과' 의사의 이름을 알아내는 쿼리 이기에 SELECT에 name을 쓰고 전공이 성형외과인 의사라는 조건이 있기에 조건문(WHERE)을 사용한다. 여기서 특정 글자를 포함할 때 만 데이터를 가져오는 LIKE를 사용한다.    doctors 테이블에서 각 전공(major) 별 의사 수를 계산하는 쿼리를 작성해주세요.SELECT major, COUNT(1) FROM doctors GROUP BY 1 각 전공 별 이기 때문에 GRUOP BY로 중복되는 전공을 다 묶어주고..

TIL 2024-09-13 ( SQL_걷기반 6~7 )

6) 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요. 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요 (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)SELECT *, RANK() OVER(PARTITION BY region ORDER BY rating DESC) rankingFROM lol_users각 유저의 레이팅을 순위로 계산하는 쿼리.순위면 RANK() OVER() 함수를 써야하는데 기본꼴은 SQL 5주차 수업에 자세히 적혀있다.문제에서 순위를 매길 컬럼과 순위 기준 컬럼을 모두 알려주어 문법에 맞게 작성하면 된다. order by는 항상 오름차순(..