반응형
1.LEET. 175. Combine Two Tables
ANSWER
SELECT Person.firstname, Person.lastname, Address.city, Address.state
FROM person
LEFT JOIN Address On person.personId=Address.personId
HackersLank의 중간 레벨은 어렵기도 하고 지문도 해석하기가 어려워 다른사이트를 찾았다.
LEET에서 많이 한다고 하여 문제 하나 풀어봤는데, 생각보다 되게 좋다!!
틀린 부분이 어디인지, 결과값 중 다른 곳이 어디인지 초록색, 빨간색으로 같이 알려준다.
CITY 열이 빠져서 CITY 열이 다 초록색으로 바뀌어 있는 상황.
하나하나 오류를 찾는 것도 중요한데 가이드가 있고 없고 차이가 진짜 크다.
[SQL 작성 시 주의할 점]
1. 문제가 요하는 것을 정확히 파악하고 빠트리지 말 것. (어떤 열을 불러오는지, 조건은 몇개인지)
2. 단일 테이블, 복수 테이블 사용할 때 사용하는 함수가 다른 것을 염두 할 것
2.1. 테이블을 합칠 때엔 JOIN, GROUPBY, HAVING, ORDER BY
2.2. 테이블 하나만 사용 할 땐 WHERE, ORDER BY
대박... 이 싸이트 좋다!
실제 작성한 쿼리가 얼마나 걸렸는지 보여주고
더 좋은 쿼리들을 볼 수 있다. ㅎㅎㅎ
그럼 다른 사람의 쿼리 5개만 분석해보자!!
ㅎㅎ.. 해커랭커스를 하면서 어렵기만 하고 풀이 죽었었는데 리트코드는 재밌다!!
1. table 명은 축약어로 활용하여, 사용 할 것.
(결국 같은 내용이라도 컴퓨터가 하나하나 다 읽어야 하기 때문)
2. 줄바꿈 없이 한줄로 쓰면 속도가 올라간다.
(이건 좋지 않은 것 같다. 결국 사람이 코드를 짜고 관리해야 하기 때문에 코드가 한눈에 안들어오고 규칙성이 없으면 큰 의미가 없다.
select p.firstName, p.lastName, a.city, a.state from Person as p left join Address as a on p.personId = a.personId;
# Write your MySQL query statement below
SELECT p.firstName, p.lastName, a.city, a.state
FROM Person p LEFT JOIN Address a
ON p.personId = a.personId;
오잉... 이게 아닌가?
일단, 오늘의 공부는 여기까지.
퇴근하고 LEETCODE 공부하면서 하나하나 깨달아봐야겠다.
데이터리안 부트캠프 입문은 9월 초부터 시작인데, 이직하려면 지금부터 준비해야 되니까!! 아자아자~~
반응형
'직무강화 > SQL' 카테고리의 다른 글
SQL 학습 6일차, 183. Customers Who Never Order (NULL, LEFT JOIN) (0) | 2024.08.22 |
---|---|
SQL 학습일지 5일차, 리트코드 182. Duplicate Emails 중복값 찾기 (0) | 2024.08.21 |
SQL 공부 4일차 LEETCODE, 181. Employees Earning More Than Their Managers (0) | 2024.08.20 |
SQL 공부 2일차_HackerRank(!=, CASE, JOIN, GROUP BY) (0) | 2024.08.18 |
SQL 어떻게 공부해야 할까? Khan Academy로 복기! (0) | 2024.08.17 |