개인공부 22

[SQL]해커랭크 Symmetric Pairs 문제 풀이

위와 같은 형태로 데이터를 뽑아내야한다. (2번 ) 일단은 X=Y 데이터를 뽑아내는것은 쉽겠다고 생각해서 먼저 작업했다. SELECT X, Y FROM functions WHERE X = Y GROUP BY X, Y HAVING COUNT(*) = 2 첫번재 미션 완료. 두번째는 조금 어려울거 같다. 일단, 테이블이 한개 더 필요하다고 생각했고 SELF JOIN을 사용했다. 원했던 데이터와 그렇지 못한 데이터가 함께 출력되었다. (X=Y) 조건을 걸어줘야겠다. 이상함 감지...... 여기서 정말 많이 고민했다. 하고 나니 어려운 조건이 아닌데, 생각하는데까지 많은 시간이 걸렸다. ㅠㅠ 어떻게 하면 한개의 행이 출력이 될까..? 테이블마다 오름차순을 적용해주고 합쳐 버리면 끝이라고 생각했다. 생각해 보니...

개인공부/SQL 2023.04.25

[SQL]리트코드 197. Rising Temperature 문제 풀이

Weather 테이블 한개를 가지고 어제와 오늘의 온도가 상승한 것들의 Id 값을 뽑아내면 된다. 조금 헷갈리긴 하지만 테이블 형태를 보면서 풀면 어렵지 않다. SELF JOIN을 활용해 yesterday 테이블을 만들었고, recordDate에서 1일을 더해 주었을때의 테이블은 아래와 같다. 어제 보다 오늘의 온도가 높은 것들만 구해야하니까 아래와 같이 조건을 넣어주면 된다. SELECT today.id AS Id FROM Weather AS today INNER JOIN Weather AS yesterday ON DATE_ADD(yesterday.recordDate, INTERVAL 1 DAY) = today.recordDate WHERE today.temperature > yesterday.temp..

개인공부/SQL 2023.04.23

[SQL]리트코드 181. Employees Earning More Than Their Managers 문제 풀이

이 문제를 풀면서 SELF JOIN 이라는 것을 처음 사용해 봤다. 말 그대로 자기 자신을 조인하여 같은 테이블을 붙인다. 내용을 보면 Employee 테이블에서 매니저 보다 급여가 높은 사람의 이름을 조회 하면 된다. id = managerId 이기 때문에 Joe의 매니저는 Sam 이다. SELECT B.name AS Employee FROM Employee A INNER JOIN Employee B ON A.id = B.managerId WHERE A.salary < B.salary

개인공부/SQL 2023.04.22

[SQL]리트코드 183. Customers Who Never Order 문제 풀이

Orders 테이블에 Henry, Max의 customerId가 존재하지 않는다. Customers 테이블을 기준으로 Orders 테이블과 조인하면 Henry, Max의 아이디 값은 NULL로 조회 될 것이다. 그럼 NULL인 것만 조회하겠다는 조건을 작성해주고, 이름을 조회하면 된다. SELECT A.name AS Customers FROM Customers A LEFT JOIN Orders B ON A.id = B.customerId WHERE B.customerId IS NULL

개인공부/SQL 2023.04.22

[SQL]해커랭크 Average Population of Each Continent 문제 풀이

문제> Given the CITY and COUNTRY tables, query the names of all the continents (COUNTRY.Continent) and their respective average city populations (CITY.Population) rounded down to the nearest integer. Note: CITY.CountryCode and COUNTRY.Code are matching key columns. 즉, 각 COUNTRY.continent 별 CITY.names 와 CITY.population 평균을 버림하여 정수로 조회해라. CITY.countryCode 와 COUNTRY.code 서로 매칭 키 SELECT A.Continent, F..

개인공부/SQL 2023.04.22

[SQL]해커랭크 African Cities 문제 풀이

내용> Given the CITY and COUNTRY tables, query the names of all cities where the CONTINENT is 'Africa'. Note: CITY.CountryCode and COUNTRY.Code are matching key columns. 즉, COUNTRY.CONTINENT = 'Africa' 인 CITY.NAME 을 조회해라. CITY.CountryCode and COUNTRY.Code 는 매칭된다. 조인 기초문제라서 금방 풀 수 있었다. 뜬끔, TMI이지만 방금 코드블럭 기능을 찾았다.. 훨씬 보기가 좋다.^___^ SELECT B.NAME FROM COUNTRY A INNER JOIN CITY B ON A.Code = B.CountryC..

개인공부/SQL 2023.04.22

[SQL]자주쓰는 SQL 정리

쿼리 문법이 기억이 안날때 구글링하기 매번 번거로워서, 자주 사용하는 내용들을 한 곳에 정리하고자 한다. (날위한 sql 통합노트) 집계함수 1.COUNT SELECT COUNT(*) -> NULL 포함 레코드(행) 조회 SELECT COUNT(컬럼) -> NULL 제외 레코드(행) 조회 SELECT COUNT(DISTINCT 컬럼) -> NULL 제외, 중복 제외 레코드(행) 조회 2.SUM SELECT SUM(컬럼) -> 컬럼의 합계 조회 3.AVG 예를 들어 아래와 같은 테이블이 있다고 가정할때 SELECT AVG(나이) -> 널값을 제외한 10+15/2(권일,권이) SELECT SUM(나이) / COUNT(*) -> 널값을 포함한 10+15 / 3(권일,권이,권삼) 4.MAX SELECT MAX(..

개인공부/SQL 2023.04.19

MakeFile 인식/실행 에러

MakeFile 정의해둔 db-up을 찾지 못한다.. 플러그인을 설치해준다. 다시 도전! 잘 되나 싶다가.. 에러! 동작하고 있는 3306 포트를 죽여준다. netstat -ano | findstr :[port] taskkill /f /pid [pid] 엥.. 거부?????? 아! 관리자 모드로 실행하자! 다시 도전! 3306 포트가 죽었다. 잘 작동 되었다 ㅎㅎㅎㅎㅎㅎ 도커 컨테이너를 확인해 보자! batch_service 안에 mysql이 잘 생성 되었다 ㅎㅎㅎㅎ! 끝.

개인공부/Web 2023.04.11

[OS]프로세스 VS 스레드/ 멀티 프로세스 VS 멀티 스레드

1. 프로세스(process) 메모리에 적재되어 실행중인 프로그램(코드의 집합)을 의미한다. 프로세스는 한개 이상의 스레드를 가진다. 보통 (부연 설명 없는) 프로세스는 단일 스레드 프로세스를 의미한다. 예를 들면, 크롬과 카카오톡을 동시에 사용하고 싶지만 불가능하다. 크롬을 실행하여 사용한뒤 끄고 카카오톡을 실행하여 사용해야한다. (Context Switching) Context Switching? CPU에서 여러 프로세스를 돌아가면서 작업을 처리하는 과정을 의미한다. CPU는 한번에 한개의 프로세스만 실행 가능하다.동작 중인 프로세스가 대기를 하면서 해당 프로세스의 상태(Context)를 보관하고, 대기하고 있던 다음 순서의 프로세스가 동작하면서 이전에 보관했던 프로세스의 상태를 복구하는 작업을 말한..

개인공부/Web 2023.02.12