전체 글 97

[내일배움캠프-사전캠프 03일차] JAVA 입문

1. JAVA / ( Part 01. Hello World! | java handbook)1) 언어의 역사- 컴퓨터와 소통하기 위해 기계 명령어와 일상 용어를 일대일로 매칭하는 기계어와 니모닉의 매칭 코드표를 만듦.- 이를 우리는 '어셈블리'라고 얘기함.- 어셈블리어가 등장하고 개발자들은 편해졌으나, 개선되어야할점이 많았음.- 어셈블리가 CPU마다 언어가 다 다르니, 배워야할 언어가 너무 많아져 버린 것임. 어셈블리어를 개발할 때는 같은 작업을 수행하는 소스 파일을 각 기계의 종류만큼 만들어야 했었음.- 그리하여 C 언어가 등장하게됨. 언어의 등장으로 이제는 소스파일을 단 하나만 만들어도 되는 시대가 됨.- C 언어는 하나의 소스파일을 각 기계어에 맞는 컴파일러로 컴파일을 하여 기계어 목적파일을 만듦. ..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[마지막 연습 문제] 다음과 같은 상품(products) 테이블과 주문(orders) 테이블이 있습니다.- 이번 문제에서는 MYSQL에서 실제 TABLE을 만들어서 진행하였다.44. 모든 주문의 주문 ID와 주문된 상품의 이름을 나열하는 쿼리를 작성해주세요!SELECT od.id, pd.nameFROM orders od, products pdWHERE od.product_id = pd.id- 결과는 아래와 같다.45. 총 매출(price * quantity의 합)이 가장 높은 상품의 ID와 해당 상품의 총 매출을 가져오는 쿼리를 작성해주세요!- GROUP BY 없이 집계함수와 비집계함수를 함께 사용되는 것이 허용되지 않을 수 있다.- 생각해보니, 둘이 그냥 곱하고, 그걸 ORDERBY 한후, LIMIT를..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[10단계] 이젠 테이블이 2개입니다38. 현재 존재하고 있는 총 부서의 수를 구하는 쿼리를 작성해주세요!SELECT count(*)FROM departments39. 모든 직원과 그들이 속한 부서의 이름을 나열하는 쿼리를 작성해주세요!- JOIN ON으로 처리 했다.- JOIN ON 은 말 그대로 교집합?이라고 생각하면 쉽다. - INNER JOIN: 기본적으로 많이 사용되는 JOIN입니다. 두 테이블에서 일치하는 데이터를 모두 반환합니다.- LEFT JOIN: 왼쪽 테이블의 모든 데이터를 반환하며, 오른쪽 테이블에 일치하는 값이 없으면 NULL을 반환합니다.- RIGHT JOIN: 오른쪽 테이블의 모든 데이터를 반환하며, 왼쪽 테이블에 일치하는 값이 없으면 NULL을 반환합니다.- FULL OUTER..

[내일배움캠프-사전캠프 02일차] SQL의 서브쿼리, DATEDIFF

1. 서브쿼리 Subquery - 서브 쿼리란 부속질의를 말하는 것으로 내포된 query와 바깥족의 query에서 참조한 table이 서로 다를 경우, 여러개의 table에 걸쳐서 질의를 처리하는 것이다.- Subquery는 FROM 절과 WHERE 절에 사용이 가능하며, bottom-up(아래에서 위) 방식으로 바깥쪽 query가 실행되기 전에 실행된다.1) 예시 문항을 살펴보겠다.SELECT *FROM RETAIL_ORDERWHERE OrderTotal > AVG(OrderTotal)- 아래는 ordertoal 열에서, 평균보다 높은 열을 찾는 SQL 문이다.- 하지만 위의 열은 error 가 생긴다.  AVG()는 하나의 값으로 반환되며, 단일값을 비교할려면 서브쿼리 또는 다른 방식으로 값을 처리해..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[7단계] 랭크게임 하다가 싸워서 피드백 남겼어요… 25. lol_feedbacks 테이블에서 만족도 점수(satisfaction_score)에 따라 피드백을 내림차순으로 정렬하는 쿼리를 작성해주세요!내림차순은 DESC, 오름차순은 ASCSELECT *FROM lol_feedbacksORDER BY satisfaction DESC26. lol_feedbacks 테이블에서 각 유저별로 최신 피드백을 찾는 쿼리를 작성해주세요!- 유저별로 최신 피드백을 찾아야하기 때문에.- feedback_date 가 가장 높은 서브쿼리를 만들어서, 피드백을 출력한다.SELECT *FROM lol_feedbacks t1WHERE feedback_date = ( SELECT MAX(feedback_date) FROM..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

[6단계] 팀 프로젝트 열심히 했으니 다시 놀아볼까요?!21. lol_users 테이블에서 각 유저의 레이팅(rating) 순위를 계산하는 쿼리를 작성해주세요! 전체 지역(region) 기준이고 순위는 레이팅이 높을수록 높아야해요. (e.g. rating 1400 유저의 순위 > rating 1350 유저의 순위)** 순위에 대한 함수 RANK 는 윈도우 내장 함수이다. PARTITION은 그룹화 하는 것이다. ORDER BY는 정렬할 COL을 정하는 것이다. PARTITION은 COL 값 별로 순위를 매기는 것이라고 생각하면 쉽다.RANK() OVER (PARTITION BY COL1 ORDER BY CO1 [ASC/DESC])무엇을? RANK 된 열을어디에서? lol_users에서SELECT *, R..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

빠르게 자바를 배우고자, SQL은 주말에 시간을 내어 진도를 빼보고자 한다.SQL은 몇번 배운 적이 있기 때문에 리마인드 하는 느낌으로 문제를 풀어보고자 한다. [3단계] 상품 주문이 들어왔으니 주문을 처리해봅시다!9. orders 테이블에서 주문 수량(amount)이 2개 이상인 주문을 진행한 소비자의 ID(customer_id)만 선택하는 쿼리를 작성해주세요!SELECT customer_idFROM ordersWHERE amount >= 2뭐를? 소비자 아이디를.어디서? orders에서조건은? amount가 2개 이상인것만.10. orders 테이블에서 2023년 11월 2일 이후에 주문된 주문 수량(amount)이 2개 이상인 주문을 선택하는 쿼리를 작성해주세요!SELECT *FROM ordersW..

[내일배움캠프-사전캠프] SQL 단계별 문제 풀이

1단계) 돈을 벌기위해 일을 합시다1. sparta_employees 테이블에서 모든 직원의 이름(name)과 직급(position)을 선택하는 쿼리를 작성해주세요. SELECT name, position FROM sparta_employees2. sparta_employees 테이블에서 중복 없이 모든 직급(position)을 선택하는 쿼리를 작성해주세요.SELECT DISTINCT positon FROM sparta_employees3. sparta_employees 테이블에서 연봉(salary)이 40000과 60000 사이인 직원들을 선택하는 쿼리를 작성해주세요.SELECT * FROM sparta_employees WHERE hire_date BETWEEN 40000 AND 600004. spa..

[내일배움캠프-사전캠프 01일차] SQL 기초

사전캠프에 참가 늦어, 시간이 촉박하여 내용이 짧다 😥 SQL 은 DB 를 조작하기 위한 표준 언어이다.이러한 SQL은 기초 중의 기초로 필수로 알아야한다.1. SQL 주요 기능SQL의 주요 기능에 대해 알아야하는데 이 DML, DDL, DCL은 꼭 알아두자.1) 데이터 조작 DML - Make - SELECT 조회, INSERT 삽입, UPDATE 수정, DELETE 삭제2) 데이터 정의 DDL - Define - CREATE(Table생성), ALTER(Table수정) , DROP(Table삭제)  3) 데이터 제어 DCL -Control- GRANT(부여) REVOCK(회수) 4) 데이터 트랜잭션 관리 TCL- COMMIT(저장) ROLLBACK(취소) -> 간결한 구문으로 DB를 쉽게 조작 가능..

[내일배움캠프-사전캠프] 스타터 노트

멤버카드 링크 - https://nbc-spring-6g-precamp.oopy.io/7c4f61cb-4cf6-4245-bac7-2369794e99c9스타터 노트 - https://sintory-04.tistory.com/manage/newpost/341. 내가 Spring Tarck 에 참여한 계기는 무엇인가?- 혼자서 독학을 하는 동안 가장 크게 느낀 것은, 공부에는 끝이 없다는 점이었습니다. 제 지식의 깊이가 아직 부족하다는 불안감도 있었습니다. 이 때문에 더욱 심층적으로 개발을 배우고 싶다는 생각이 들어 참여하게 되었습니다.2. 내가 이해한 개발자는 어떤 역할을 하는 사람인가요? - 기술이 빠르게 변화하기 때문에, 개발자는 끊임없이 배우고 또 배워야 합니다. 그래서 평생 배우면서 성장해 나가는 사..