Express 먼저 설치하고 이어서 SSMS를 설치하면 서버 이름이 자동으로 나와있다고 하지만 나는 SSMS를 먼저 설치하고 Express를 설치했다. 그래서 서버 이름이 자동으로 나오지 않았고... 제어판과 설정을 여기저기 왔다갔다 했지만 도무지 찾을 수 없어서 짜증이 난 상태였다. 해결 방법은 다음과 같다. 1. Microsoft SQL Server를 설치한 폴더로 간다. 별도로 수정하지 않았다면 아래의 경로일 것이다. C:\Program Files\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQL\Log 2. 다른건 필요없고 ERRORLOG 파일을 열자. 3. Ctrl+F를 누르고 Server name is를 입력하면 금방 서버 이름을 찾을 수 있다. 4. 로그인 성공!
1. HackerRank - Basic select -- #6 SELECT DISTINCT CITY FROM STATION WHERE ID%2 = 0 -- #7 SELECT COUNT(CITY) - COUNT(DISTINCT CITY) FROM STATION -- #8 SELECT MIN(LENGTH(CITY)) AND MAX(LENGTH(CITY)) FROM STATION ORDER BY DESC -- #11 SELECT DISTINCT(CITY) FROM STATION WHERE RIGHT(CITY, 1) IN ('a', 'e', 'i', 'o', 'u') -- #12 SELECT DISTINCT(CITY) FROM STATION WHERE (RIGHT(CITY, 1) IN ('a', 'e', 'i'..
link: https://programmers.co.kr/learn/courses/30/lessons/77487 코딩테스트 연습 - 헤비 유저가 소유한 장소 PLACES 테이블은 공간 임대 서비스에 등록된 공간의 정보를 담은 테이블입니다. PLACES 테이블의 구조는 다음과 같으며 ID, NAME, HOST_ID는 각각 공간의 아이디, 이름, 공간을 소유한 유저의 아이디를 programmers.co.kr 문제: 이 서비스에서는 공간을 둘 이상 등록한 사람을 "헤비 유저"라고 부릅니다. 헤비 유저가 등록한 공간의 정보를 아이디 순으로 조회하는 SQL문을 작성해주세요. 코드: SELECT P1.* FROM PLACES P1 JOIN (SELECT HOST_ID FROM PLACES GROUP BY HOST_..
link: https://programmers.co.kr/learn/courses/30/lessons/62284 코딩테스트 연습 - 우유와 요거트가 담긴 장바구니 CART_PRODUCTS 테이블은 장바구니에 담긴 상품 정보를 담은 테이블입니다. CART_PRODUCTS 테이블의 구조는 다음과 같으며, ID, CART_ID, NAME, PRICE는 각각 테이블의 아이디, 장바구니의 아이디, 상품 종류, 가 programmers.co.kr 문제: 데이터 분석 팀에서는 우유(Milk)와 요거트(Yogurt)를 동시에 구입한 장바구니가 있는지 알아보려 합니다. 우유와 요거트를 동시에 구입한 장바구니의 아이디를 조회하는 SQL 문을 작성해주세요. 이때 결과는 장바구니의 아이디 순으로 나와야 합니다. 방법 1: S..
Link: https://programmers.co.kr/learn/courses/30/lessons/59042 코딩테스트 연습 - 없어진 기록 찾기 ANIMAL_INS 테이블은 동물 보호소에 들어온 동물의 정보를 담은 테이블입니다. ANIMAL_INS 테이블 구조는 다음과 같으며, ANIMAL_ID, ANIMAL_TYPE, DATETIME, INTAKE_CONDITION, NAME, SEX_UPON_INTAKE는 각각 동물의 아이디 programmers.co.kr Subquery SELECT animal_id, name FROM animal_outs WHERE animal_id NOT IN (SELECT animal_id FROM animal_ins) ORDER BY animal_id 제일 쉽고 간단한..
1. Join Query SELECT * FROM TableA A LEFT JOIN TableB B ON A.key = B.key WHERE B.key IS NULL SELECT * FROM TableA A RIGHT JOIN TableB B ON A.key = B.key WHERE A.key IS NULL SELECT * FROM TableA A INNER JOIN TableB B ON A.key = B.key SELECT * FROM TableA A LEFT JOIN TableB B ON A.key = B.key SELECT * FROM TableA A RIGHT JOIN TableB B ON A.key = B.key SELECT * FROM TableA A FULL OUTER JOIN TableB ..
문제 링크: https://www.hackerrank.com/domains/sql?filters%5Bsubdomains%5D%5B%5D=aggregation Solve SQL Code Challenges A special-purpose language designed for managing data held in a relational database. www.hackerrank.com Aggregation까지 다 풀고 나니 실버 4가 됐다. Median을 구하는 'Weather Observation Station 20' 문제 빼고는 평이한 난이도였다. -- Revising Aggregations - The Count Function SELECT COUNT(ID) FROM CITY WHERE POPULA..
저번 글(링크)에서 밝혔듯이 나는 좀 더 편하다는 이유로 조인 대신 서브 쿼리를 써왔다. 효율성을 버렸다는 것을 깨달은 후부터는 조인을 사용하고 있지만, 이런 일이 발생한 이유가 SQL 쿼리 작성의 미숙함에서 나왔다는 것을 알게 됐다. [SQL] Join vs Sub-query, sharding 코딩테스트를 볼 때 Join을 사용해야 하는 문제가 나와도 Sub-query로 작성하는게 더 편해서 서브쿼리를 작성해왔다. 검색해보니 많은 사람(특히 SQL입문자)들이 서브쿼리가 조인에 비해 작성하기 hello-i-t.tistory.com 그래서 주말을 기념해서 해커 랭크에서 SQL 문제를 풀고 있는데, 아직 easy 문제를 풀고 있어서 그런지 쉬워도 너무 쉽다. 6개의 subdomain이 있으니 다 풀고 lee..
코딩테스트를 볼 때 Join을 사용해야 하는 문제가 나와도 Sub-query로 작성하는게 더 편해서 서브쿼리를 작성해왔다. 검색해보니 많은 사람(특히 SQL입문자)들이 서브쿼리가 조인에 비해 작성하기 쉬워 선호한다고 한다. 그런데 작성하기 쉬운건 쉬운거고, 성능이 문제다. 대부분의 경우 조인이 서브쿼리에 비해 성능이 좋다. 가독성: Sub-query>Join 성능: Join>Sub-query 다행히도 MySQL 5.6 버전부터는 서브쿼리가 많이 최적화되었다고 한다. 그러나 최적화가 적용되지 않는 조건들이 다수 존재한다고 하니 웬만하면 조인을 사용하는게 좋다. [조인이 서브쿼리보다 성능이 좋은 이유] In JOINs RDBMS can create an execution plan that is better ..
DBMS는 DataBase Management System의 약자로, 데이터베이스를 생성, 관리, 수정, 조작하는데 사용하는 소프트웨어다. Oracle, MySQL, Microsoft SQL Server는 RDBMS로 오래동안 큰 변동없이 최상위권에 위치해왔다. 이 세가지를 제외하고서 특별히 눈에 띄는 것은 2013년부터 완만하게 상승곡선을 보이는 PostgreSQL, MongoDB 그리고 2020년부터 급등한 Microsoft Azure SQL Database다(왜 갑자기 급등했을까??). 2021년 4월 기준으로 랭킹[1]은 아래와 같다. 1. Oracle detailed information Relational, Multi-model info 1274.92 -46.82 -70.51 (Score, M..