https://programmers.co.kr/learn/courses/30/parts/17046
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
0. join 공부
https://www.w3schools.com/sql/sql_join.asp
SQL Joins
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
- 문법
SELECT 속성1, 속성2, ..., 속성
FROM 테이블 A INNER JOIN 테이블 B ON A.속성 = B.속성
WHERE 조건;
1. 없어진 기록 찾기
SELECT a.ANIMAL_ID, a.NAME
from ANIMAL_OUTS a left join ANIMAL_INS b on a.ANIMAL_ID = b.ANIMAL_ID
where b.ANIMAL_ID is null
order by ANIMAL_ID;
2. 있었는데요 없었습니다
SELECT a.ANIMAL_ID, a.NAME
from ANIMAL_OUTS a join ANIMAL_INS b on a.ANIMAL_ID = b.ANIMAL_ID
where a.DATETIME < b.DATETIME
order by b.DATETIME;
3. 오랜 기간 보호한 동물 (1)
SELECT a.NAME, a.DATETIME
from ANIMAL_INS a left join ANIMAL_OUTS b on a.ANIMAL_ID = b.ANIMAL_ID
where b.ANIMAL_ID is null
order by a.DATETIME limit 3;
4. 보호소에서 중성화한 동물
SELECT a.ANIMAL_ID, a.ANIMAL_TYPE, a.NAME
from ANIMAL_INS a join ANIMAL_OUTS b on a.ANIMAL_ID = b.ANIMAL_ID
where a.SEX_UPON_INTAKE like "%Intact%"
and b.SEX_UPON_OUTCOME not like "%Intact%"
order by a.ANIMAL_ID;
SELECT a.ANIMAL_ID, a.ANIMAL_TYPE, a.NAME
from ANIMAL_INS a join ANIMAL_OUTS b on a.ANIMAL_ID = b.ANIMAL_ID
where a.SEX_UPON_INTAKE like "%Intact%"
and (b.SEX_UPON_OUTCOME like "%Spayed%"
or b.SEX_UPON_OUTCOME like "%Neutered%")
order by a.ANIMAL_ID;
sql은 필요할 때마다 검색해서 하다보니 ... ^^ ㄹㅇ 조인만 사용해서 풀었다. 다른 거 다 까먹어부렸다..
다시 보니 간단한데 막상 쓰려고 하면 기억이 안남
* LIMIT n : 상위 n개까지 select
상위 n개까지 select할 때 사용 (MYSQL)
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
* NOT IN
SELECT column_name(s)
FROM table_name
WHERE column_name IN (value1, value2, ...)
혹은
WHERE column_name IN (SELECT STATEMENT);
* LIKE
SELECT column1, column2, ...
FROM table_name
WHERE columnN LIKE pattern;
The percent sign (%) represents zero, one, or multiple characters
The underscore sign (_) represents one, single character
%는 0개 이상의 문자열 // '%a1s2d3%'
_는 하나의 문자 // '_bcdefg'
* EXISTS
SELECT column_name(s)
FROM table_name
WHERE EXISTS
(SELECT column_name FROM table_name WHERE condition);
https://www.w3schools.com/sql/sql_top.asp
SQL SELECT TOP, LIMIT, FETCH FIRST ROWS ONLY, ROWNUM
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com
'공부 > SQL' 카테고리의 다른 글
MYSQL 코테 보기 전, 알아두어야 할 지식 (1) | 2024.09.23 |
---|---|
프로그래머스 SQL 고득점 Kit - GROUP BY; MySQL (0) | 2022.03.03 |
SQL Zoo - More JOIN operations 문제 풀이 (0) | 2022.03.02 |