UNION 함수
UNION 함수는 여러 개의 SELECT 문의 결과를 하나의 테이블로 연결할 때 사용
# union/union all 기본구조
select name, goods_nm, pay_date #컬럼 순서가 같고, 그 형식이 같아야 함
from 테이블명1
union (all) #수직결합 명시
select name, goods_nm, pay_date
from 테이블명 2
JOIN 함수
조인의 첫번째 단계: 공통컬럼 찾기
조인의 두번째 단계: 적절한 조인 방식 찾기
# INNER JOIN 작성법(기초편)
select 컬럼1, 컬럼2...
from 테이블1 as a
inner join 테이블2 as b
on a.공통컬럼=b.공통컬럼
# LEFT JOIN 작성법(기초편)
select 컬럼1, 컬럼2...
from 테이블1 as 테이블명1 -- left에 위치한 테이블. (기준)
left join 테이블2 as 테이블명2 -- right에 위치한 테이블.
on a.공통컬럼=b.공통컬럼
UNION 함수와 JOIN 함수
UNION | JOIN | |
결합방식 | 수직결합(세로로 결합) | 수평결합(가로로 결합) |
특징 | 각 SELECT 문은 같은 수의 열을 가져야 한다. 각 SELECT 문의 동일한 순서를 가져야 한다. |
각 테이블은 결합을 위해 공통컬럼을 반드시 1개 이상 가져야 한다. |
종류 | SELECT 컬럼1, 컬럼2 FROM TABLE A UNION (ALL) SELECT 컬럼1, 컬럼2 FROM TABLE B UNION: 결합한 결과에서 중복되는 행은 하나만 표시 UNION ALL: 결합한 결과에서 중복되는 행을 모두 표시 |
JOIN: TABLE A INNER JOIN TABLE B ON A.공통컬럼=B.공통컬럼 두 테이블에서 일치하는 값을 가진 행을 반환 LEFT JOIN: TABLE A LEFT JOIN TABLE B ON A.공통컬럼=B.공통컬럼 왼쪽 테이블의 모든 행과 오른쪽 테이블의 일치하는 행을 반환합니다. 일치하는 항목이 없으면 오른쪽 테이블의 열에 대해 NULL 값이 출력됩니다. RIGHT JOIN: TABLE A RIGHT JOIN TABLE B ON A.공통컬럼=B.공통컬럼 오른쪽 테이블의 모든 행과 왼쪽 테이블의 일치하는 행을 반환합니다. 일치하는 항목이 없으면 왼쪽 테이블의 열에 대해 NULL 값이 출력됩니다. FULL OUTER JOIN LEFT JOIN + UNION + RIGHT JOIN LEFT, RIGHT 의 모든 데이터를 출력합니다. 각각의 빈 값은 NULL 로 반환됩니다 |
DML(Data Manipulation Language) 데이터 조작어
- 정의된 DB에 입력된 레코드를 조회, 추가, 수정, 삭제하는 기능을 하는 언어.
- Select: 조회
- Insert: 테이블에 새로운 데이터를 입력할 때 사용
- Update: 테이블에 있는 데이터를 수정할 때 사용
- Delete: 테이블에 있는 데이터를 삭제할 때 사용
-- 특정 컬럼에만 값을 넣을 경우
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
-- 모든 컬럼에 값을 넣을 경우 column 생략 가능.
-- 테이블에 있는 컬럼의 순서와 같은 순서로 값을 넣어주어야함.
INSERT INTO table_name
VALUES (value1, value2, value3, ...);
UPDATE table_name
SET column1 = value1, column2 = value2, ...
WHERE condition;
DELETE FROM table_name WHERE condition;
강의 : 파이썬 문법 기초 - 1주차(1, 2, 3, 4)
연산자
제곱 : ** (a의 b제곱=a**b)
몫: //
나머지 : %
문자열표시: 작은 따옴표' ', 큰 따옴표" ", str()
문자열과 정수를 더하면 에러
문자열의 길이는 len() 함수를 써서 구할 수 있다
인덱싱: 문자열은 '문자들의 모임'이기 때문에 그 일부를 따로 떼어 부르는 방법이 있다. 한 글자 씩 부를 때는 몇 번째인지 '인덱스'를 넣어 불러서 인덱싱
f="abcdefghijklmnopqrstuvwxyz"
f[1] # b 파이썬은 숫자를 0부터 셉니다
슬라이싱 : 문자열의 일부를 잘라낼 때는 슬라이싱
f[4:15] # efghijklmno f[4]부터 f[15] 전까지, 총 15-4=11개!
f[8:] # ijklmnopqrstuvwxyz f[8]부터 끝까지, 앞의 8개 빼고!
f[:7] # abcdefg 시작부터 f[7] 전까지, 앞의 7개!
f[:] # abcdefghijklmnopqrstuvwxyz 처음부터 끝까지
split('문자열') : 특정 문자열로 자르고 싶을 때
myemail = 'abc@sparta.co'
domain = myemail.split('@')[1].split('.')[0]
print(domain)
'내배캠_Data_3기 > TIL' 카테고리의 다른 글
SQL 문제풀이 전 흐름 정리하기 (0) | 2024.07.03 |
---|---|
240702_파이썬, PYTHON, 명령어 (0) | 2024.07.02 |
240630_라이브세션 복습(1), SQL, 명령어 (0) | 2024.06.30 |
240628_SQL, JOIN, 문제, 명령어 (0) | 2024.06.28 |
240627_SQL, Subquery, JOIN, INNER JOIN,LEFT JOIN, RIGHT JOIN (0) | 2024.06.27 |