일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
- CNN
- 연습문제
- 정수와유리수
- JSP/Servlet
- CSS
- C++
- 정보처리기사필기
- 중학수학
- numpy/pandas
- 파이썬라이브러리
- 컴퓨터구조
- 코딩테스트
- 데이터입출력구현
- 자바 실습
- html/css
- 자바
- 영어공부
- 데이터베이스
- 파이썬
- 컴퓨터비전
- 데이터분석
- 딥러닝
- 텍스트마이닝
- pandas
- SQL
- 머신러닝
- 운영체제
- 정보처리기사실기
- 혼공머신
- 중학1-1
- Today
- Total
목록알고리즘 및 자료 관리 (214)
클라이언트/ 서버/ 엔지니어 "게임 개발자"를 향한 매일의 공부일지
오늘의 저녁 공부를 시작해본다. 10시까지 SQL 기초 공부를 모두 마칠 수 있었으면 좋겠다. 이론 2 - 반환에 따른 분류 급여가 가장 많은 사람은 1명 이상이 될 수도 있다. 실습 4 - 다중 행 서브쿼리 1 먼저 서브쿼리를 작성해보았다. manager 업무 사원 중 제일 높은 값이므로 max로 구하면 된다. 이제 메인쿼리를 작성하고 서브쿼리를 포함해볼 것이다. 매니저 사원 중 제일 높은 급여를 받는 사원보다 높은 급여를 받는 사원이 출력되었다. 그리고 부등호 뒤에 다중 행 연산자를 사용할 수도 있다. ALL은 내부적으로 모두 AND 연산을 하므로 모두 포함할 때 사용한다. 실습 5 - 다중 행 서브쿼리 2 ..
SQL 기초 과정의 마지막 주차 학습이다. 여기까지만 하고 오후 공부를 마치려고 한다. 심화 과정은 지금은 꼭 필요한 공부는 아닌 것 같아 할지 말지 고민이 된다. 어쨌든 5주차 공부를 시작해본다. 이론 1 - 서브쿼리 실습 1 - 단행 서브쿼리 1 단일행은 서브쿼리의 결과가 한 개의 행으로 나타나는 것이다. 전체 테이블을 조회하면 다음과 같다. 먼저 서브쿼리와 메인 쿼리에 있어야 할 조건을 정한다. 사원 번호가 7인 사람을 서브쿼리로 작성하였다. 7인 사람은 생년월일이 1981년 6월 9일이다. 나이가 어리려면 메인 쿼리의 생년월일이 더 커야 한다. 이렇게 7번 사원보다 어린 사원이 출력되었다. 실습 2 - 단일 행 서브쿼리 2 ..
미션 문제를 풀어볼 시간이다. 어렵겠지만 충분히 도전할만한 가치가 있다. 미션 1 - 판매 기록 조회하기 하지만 문제를 틀렸다. 다시 한번 풀어보기로 하자. 두 번째 풀었음에도 틀려서 헬퍼에게 도움을 청했다. 모두 일치하는 데이터를 가져올 때 INNOR JOIN을 쓰는 거였다. 이 문제에서는 모든 판매 기록을 가져올 것이므로 LEFT JOIN을 써야 한다. 다시 풀어보기 문제가 좀 이상하다. 어떻게 풀어도 다 틀렸다고 나온다. 한 15번 넘게 시도했으나 안 풀려서 넘어가려고 한다. 미션 2 - 인기 있는 물건 드디어 풀었다. 이 문제도 5번은 넘게 코드를 수정하고 풀었다. 수정하는 과정의 코드는 생략하고 정답 코드만 첨부해본다. 미션 3 - 부서별 인원 수 검색..
LEFT JOIN에 이어 LIGHT JOIN에 대해서도 학습해볼 것이다. 이론 6 - RIGHT JOIN 4번은 기록이 남아있지 않은 상태이다. 이 둘을 연결하려면 어떻게 해야 할까? RIGHT JOIN으로 연결하면 rental 테이블에 없는 값은 null값이 된다. 두 테이블 중 더 중요한 것을 FROM 다음에 써준다. 이번 시간에 배운 것을 정리해본 것이다. 실습 10 - 오른쪽 테이블의 모든 값과 교집합 : RIGHT JOIN 1 중심에 되는 것을 적고 right join을 해주었다. 여기서는 rental 테이블의 user_id와 user 테이블의 id를 연결해주었다. 왼쪽 테이블에 없는 값이 NULL 값으로 표시되는 것을 알 수 있다. ..
이번에는 LEFT JOIN에 대해서 학습해 본다. 이론 5 - LEFT JOIN 조금 전에 INNER JOIN을 사용했을 때는 대여한 사람의 정보만 출력할 수 있었다. 이번에는 대여 기록이 없는 회원 정보로 가져와볼 것이다. 이 널 값도 중요한 정보이다. 두 테이블 중에서 더 중요한 것에 중심을 둔다. 실습 8 - 왼쪽 테이블의 모든 값과 교집합 : LEFT JOIN 1 왼쪽의 테이블인 rental 테이블이 모두 조회되도록 left join으로 연결해 보았다. innor join과는 다르게 on을 반드시 적고 조건을 명시해야 한다. 여기서 user_id로 연결할 것이므로 이렇게 코드를 작성했다.여기서 중요한 점은 user 테이블의 id와 rental 테이블의..
조금 전에 SQL 공부를 하다 너무 안 되서 정말 화가 났지만 다시 공부에 집중해 보기로 했다. 지난 6월부터 4달 동안 내가 맘 잡고 공부한 이후로 해결이 안 되는 문제는 거의 없었다. 무슨 일이 있어도 문제를 파고들어 반드시 해결했다. 지금까지 딱 두 가지 문제를 해결하지 못했는데 모두 SQL이었다. 하나는 권한을 부여하는 REVOKE였고, 다른 하나는 오늘 이 문제이다. 어쨌든 이 문제도 조만간 해결이 되리라 본다.문제가 생길 때 난 사람들에게는 절대로 물어보지 않는다. 내가 혼자서 해결할 때 진짜 그 문제에 대한 열쇠를 쥘 수 있다는 것을 알게 되었기 때문이다. 어쨌든 잠시 이 문제는 접어두고 엘리스도 SQL 공부를 이어서 진행해 볼 것이다. 이론 4 - 조건을 적용해 두 개의 테이블 조회하..
이제 오후 공부를 시작해본다. 아침에 예배 끝나고 집에 와서 아침 공부를 시작한지 얼마 안 되서 너무 졸려서 40분 정도 낮잠을 잤다. 그리고 점심을 먹고 이제 다시 공부를 시작해본다. 조금 전에 들었던 강의는 거의 졸면서 들어서 다시 들어야 할 것 같다.오후에는 4장을 공부해보려고 한다. 앞서 배운 SELECT, INSERT, YPDATE, DELETE만 잘 이해하면 테이블에서 원하는 내용을 추출해서 사용할 수 있다. 하지만 좀 더 효율적인 SQL을 만들고 활용하기 위해서는 데이터의 내부적인 구성을 이해하는 것이 좋다. 시작하기 전에테이블을 만들 때는 데이터 형식을 설정해야 한다. 데이터 형식에는 크게 숫자형, 문자형, 날짜형이 있다. 세부적으로는 여러 개로 나뉘기도 한다. 이렇게 다양한 데이터 형식이..
어제 1시 반쯤 취침했는데 알람 없이 5시 반에 일어나 다시 새벽 공부를 시작해 본다. 한 단원만 공부하고 매일 해야 하는 수학 공부를 할 생각이다. 이번주에는 새롭게 아침 7시 혹은 7시 반에 운동하는 습관을 들이고 있다. 처음에는 힘들었으나 요즘은 이 시간이 기다려진다.이 운동 습관을 들인 후로 지각하는 습관도 고칠 수 있었다. 지각은 아니지만 항상 9시 7분 정도에 도착하곤 했었다. 한번 이이 시간에 오게 된 후로 지난 두 달 동안 더 일찍 등교하려고 해도 잘 되지 않았던 일이었다. 근데 신기하게도 운동 습관을 만든 후로는 20분 정도 일찍 등교하게 되었다. 오늘도 아침 운동을 하려면 서둘러 이 학습을 마쳐야 한다. 앞서 배운 SELECT는 이미 만들어 놓은 테이블에서 데이터를 추출하는 구문이다. ..
SELECT ~ FROM ~ WHERE는 가장 핵심적인 SQL 문이다. 이에 부가적으로 결과를 정렬하거나, 일부만 보여주는 등의 다양한 처리가 필요할 때도 있다.이 내용 역시 엘리스로 모두 학습했던 내용이라 어렵지 않게 공부해볼 수 있을 것 같다. 한번 더 복습한다는 의미로 정리해보려고 한다. 시작하기 전에SELECT 문에서는 결과의 정렬을 위한 ORDER BY, 결과의 개수를 제한하는 LIMIT, 중복된 데이터를 제거하는 DISTINCT 등을 사용할 수 있다.GROUP BY 절은 지정한 열의 데이터들을 같은 데이터끼리 묶어서 결과를 추출한다. 주로 그룹으로 묶는 경우는 합계, 평균, 개수 등을 처리할 때 사용하므로 집계 함수와 함께 사용된다. GROUP BY 절에서도 HAVING 절을 통해 조건식을 ..
SELECT 문으로 기본 조회와 특정 조건을 조회하는 방법을 학습해 볼 것이다. 엘리스도 이 부분을 모두 공부해서 알고 있지만 MySQL은 처음이나 기본부터 차근차근 공부해 보자. 기본 조회하기 : SELECT ~ FROM이제 본격적으로 '인터넷 DB 구성도'를 활용해서 SELECT 문을 배워보겠다. USE 문SELECT 문을 실행하려면 먼저 사용할 데이터베이스를 지정해야 한다. USE 문은 사용하려는 데이터베이스가 한 개가 아니라는 뜻이다. USE 문을 쓰는데 market_db가 패널창에서 보이지 않으면 Refresh All을 클릭해서 새로고침을 한다. 이제 market_db가 잘 보인다. SELECT 문의 기본 형식SELECT 문은 처음에는 사용하기 간단하지만, 사실 상당히 복잡한 구조..