본문 바로가기
GROUP BY GROUP BY라고 하는 쿼리문에 대해 들어본 적은 있을 것이다. 들어본 적이 없더라도 해당 절은 실무에서도 유용하게 사용된다고 생각하기에 알아두면 좋을 것이라고 생각한다. GROUP BYGROUP BY는 어디에 사용해야 하나? 예시를 하나 들어보자. 회사에는 부서 번호가 존재하고 이 부서 번호에 해당되는 사람들의 평균 급여를 확인하고 싶다면 어떻게 해야할까? SCOTT 계정으로 확인해보자. SELECT AVG(SAL) FROM EMP WHERE DEPTNO = 10;이런 식으로 쿼리를 조회해 평균을 구할 수 있다. 현재는 10에 해당하는 평균 급여만 확인했는데 20, 30에 해당하는 평균 급여도 따로 구하고 싶을 땐 어떻게 해야할까? SELECT AVG(SAL) FROM EMP WHERE DEPTNO .. 2024. 5. 5.
10992번 Python https://www.acmicpc.net/problem/10992 문제가 쉬운듯하면서도 어렵게 느껴졌다. 규칙을 몇 가지는 찾았지만 만들어내야 하는 방법을 생각하지 못했다. 그래서 외부의 도움을 조금 받았다. N = int(input())for i in range(1, N + 1): if (i == 1 or i == N): print(' ' * (N - i) + '*' * (2 * i - 1)) else: print(' ' * (N - i) + '*' + ' ' * (2 * (i - 1) - 1) + '*')코드는 이러한 형태로 작성했다.  * * * * * * **********이러한 형태를 만들어야한다고 생각했을 때, 어떻게 해야할지 규칙부터.. 2024. 5. 1.
10991번 Python https://www.acmicpc.net/problem/10991 10991번: 별 찍기 - 16 예제를 보고 규칙을 유추한 뒤에 별을 찍어 보세요. www.acmicpc.net 규칙되는 부분을 얼추 찾은 것 같았는데 출력 형식이 잘못되었다고 나올까봐 배제하고 다른 풀이를 생각했는데 그것이 올바른 길이었다. * * * * * * * * * * * * * * * 유심히 보았던 것은 왼쪽의 공백이었다. 4 > 3 > 2 > 1의 순서로 일정하게 줄어드는 것을 확인했다. 그렇다는 건 복잡하게 생각할 필요성이 없다고 판단했다. 그 다음으로 생각한 것이 *의 형태였다. 기존에는 *만 생각해보았다면 이번엔 '* '의 형태를 도입해보기로 생각까지는 했었다. 하지만 백준에서 보았을 때, 오른쪽의 공백 형태가 보이지 .. 2024. 4. 23.
2446번 Python https://www.acmicpc.net/problem/2446 2446번: 별 찍기 - 9 첫째 줄부터 2×N-1번째 줄까지 차례대로 별을 출력한다. www.acmicpc.net 오랜만에 Problem Solving으로 블로그에 게시물을 남긴다. 단순한 별찍기 문제이지만 출력 형식이 잘못되었다는 리턴을 받았다. N = int(input()) for i in range(N, 1, -1): print(' ' * (N - i) + '*' * (2 * i - 1) + ' ' * (N - i)) for i in range(1, N + 1): print(' ' * (N - i) + '*' * (2 * i - 1) + ' ' * (N - i)) 문제에서 요구하는대로 됐지만 출력 형식이 잘못되었다고 한다. N = .. 2024. 4. 22.
데이터 처리 및 가공 함수 조회에 대한 부분은 크게 어렵지 않아서 책으로만 정독해보고 넘어갔다. 함수에 대해서는 몰랐던 부분을 좀 정리해두려고 한다. LENGTH, SUBSTR 이름에서 추론할 수 있듯 LENGTH는 해당 문자열의 길이를 출력해준다. 어렵지 않기에 따로 적어두진 않는다. SUBSTR도 프로그래밍 언어에서는 슬라이싱의 개념으로 많이 사용하는데 제대로 된 정의를 남겨두려고 한다. SELECT ENAME, SUBSTR(ENAME, 1, 3) FROM EMP 위와 같이 입력해보자. SUBSTR(STRING, 1, 3)을 하게되면 해당 컬럼의 데이터를 1번째 문자부터 3번째 문자까지 출력해준다는 의미로 생각하면 된다. SELECT ENAME, SUBSTR(ENAME, -LENGTH(ENAME)), SUBSTR(ENAME, .. 2024. 4. 14.
오라클 데이터베이스 설치 - Mac 윈도우 환경에서 오라클 설치하는 것은 방법도 잘 나와있고 책에도 잘 정리되어 있어서 따로 정리하진 않았다. 맥북을 구입하게 되면서 맥의 환경에 설치하려고 하니 윈도우와는 조금 방법이 달라 정리해두려고 한다. 오라클은 맥북에서의 데이터베이스 환경을 제공해주질 않기 때문에 Docker를 사용해서 오라클 디비에 해당하는 이미지를 띄워 사용해야한다고 한다. docker 자체는 굉장히 무거운 프로그램이기 때문에 간단히 컨테이너를 실행시켜주는 colima를 사용해서 위의 저 이미지를 띄워 오라클 데이터베이스를 사용해보도록 하자. brew로 설치 또는 직접 Docker 설치 https://www.docker.com/products/docker-desktop/ Docker Desktop: The #1 Container.. 2024. 4. 13.