TIL 23.08.28

ν™©μ€ν•˜Β·2023λ…„ 8μ›” 28일
0

TIL

λͺ©λ‘ 보기
66/146

πŸ“ŒToday I Learned

였라클

dbeaver μ„€μΉ˜(23.1.5)
community
zip λ‹€μš΄

ex04_operator

  1. λ¬Έμžμ—΄ μ—°μ‚°μž(concat)
  • +(x) -> ||(o)
  1. 비ꡐ μ—°μ‚°μž
  • >, >=, <, <=
  • =(==), <>(!=)
  • 논리값 λ°˜ν™˜ > SQLμ—λŠ” boolean이 μ—†λ‹€ > λͺ…μ‹œμ μœΌλ‘œ ν‘œν˜„ λΆˆκ°€λŠ₯ > 쑰건이 ν•„μš”ν•œ μƒν™©μ—μ„œ λ‚΄λΆ€μ μœΌλ‘œ μ‚¬μš©
  • 컬럼 λ¦¬μŠ€νŠΈμ—μ„œ μ‚¬μš© λΆˆκ°€
  • μ‘°κ±΄μ ˆμ—μ„œ μ‚¬μš©
  1. 논리 μ—°μ‚°μž
  • and(&&), or(||), not(!) (μ˜μ–΄λ‘œ μž‘μ„±)
  • 논리값 λ°˜ν™˜
  • 컬럼 λ¦¬μŠ€νŠΈμ—μ„œ μ‚¬μš© λΆˆκ°€
  • μ‘°κ±΄μ ˆμ—μ„œ μ‚¬μš©
  1. λŒ€μž… μ—°μ‚°μž
  • =
  • 컬럼 = κ°’
  • update λ¬Έ
  1. 3ν•­ μ—°μ‚°μž
  • μ—†μŒ
  • μ œμ–΄λ¬Έ μ—†μŒ
  1. 증감 μ—°μ‚°μž
  • μ—†μŒ
  1. SQL μ—°μ‚°μž
  • μžλ°” μ—°μ‚°μž > instanceof, typeof λ“±...
  • in, between, like, is λ“±...(00절, 00ꡬ..)

컬럼의 별칭(Alias)

  • λ˜λ„λ‘ κ°€κ³΅λœ μ»¬λŸΌμ— 적용
  • ν•¨μˆ˜ 결과에 적용
  • *** 컬럼λͺ…이 μ‹λ³„μžλ‘œ μ ν•©ν•˜μ§€ μ•Šμ„ λ•Œ μ‚¬μš© > μ ν•©ν•œ μ‹λ³„μžλ‘œ μˆ˜μ •
  • μ‹λ³„μžλ‘œ μ‚¬μš© λΆˆκ°€λŠ₯ 상황 > μ–΅μ§€λ‘œ μ μš©ν•  λ•Œ

ν…Œμ΄λΈ” 별칭(Alias)

  • νŽΈν•˜κ²Œ... + 가독성 ν–₯상

각 절의 μ‹€ν–‰ μˆœμ„œ

    1. select 절
    1. from 절

ex05_where

select 컬럼리슀트 -- 3. 컬럼 지정(보고싢은 컬럼만 κ°€μ Έμ˜€κΈ°) > Projection
from ν…Œμ΄λΈ” -------- 1. ν…Œμ΄λΈ” 지정
where 쑰건; --------- 2. 쑰건 지정(보고싢은 ν–‰λ§Œ κ°€μ Έμ˜€κΈ°) > Selection

where절

  • λ ˆμ½”λ“œ(ν–‰)을 κ²€μƒ‰ν•œλ‹€.
  • μ›ν•˜λŠ” ν–‰λ§Œ μΆ”μΆœν•˜λŠ” μ—­ν• 

between

  • whereμ ˆμ—μ„œ μ‚¬μš© > 쑰건으둜 μ‚¬μš©
  • 컬럼λͺ… between μ΅œμ†Ÿκ°’ and μ΅œλŒ“κ°’
  • λ²”μœ„ 쑰건
  • 가독성(μ€‘μš”)
  • μ΅œμ†Ÿκ°’, μ΅œλŒ“κ°’ > 포함

in

  • whereμ ˆμ—μ„œ μ‚¬μš© > 쑰건으둜 μ‚¬μš©
  • μ—΄κ±°ν˜• 쑰건
  • 컬럼λͺ… in (κ°’, κ°’, κ°’)
  • 가독성 ν–₯상

like

  • whereμ ˆμ—μ„œ μ‚¬μš© > 쑰건으둜 μ‚¬μš©
  • νŒ¨ν„΄ 비ꡐ
  • 컬럼λͺ… like 'νŒ¨ν„΄ λ¬Έμžμ—΄'
  • μ •κ·œ ν‘œν˜„μ‹μ˜ μ΄ˆκ°„λ‹¨ 버전

νŒ¨ν„΄ λ¬Έμžμ—΄ κ΅¬μ„±μš”μ†Œ
1. _ : μž„μ˜μ˜ 문자 1개(.)
2. % : μž„μ˜μ˜ 문자 n개 0~λ¬΄ν•œλŒ€(.*)

RDBMSμ—μ„œμ˜ null

  • μ»¬λŸΌκ°’(μ…€)이 λΉ„μ–΄μžˆλŠ” μƒνƒœ
  • null μƒμˆ˜ 제곡
  • λŒ€λΆ€λΆ„μ˜ μ–Έμ–΄λŠ” null은 μ—°μ‚°μ˜ λŒ€μƒμ΄ 될 수 μ—†λ‹€.(***)

null 쑰건

  • whereμ ˆμ—μ„œ μ‚¬μš©
  • 컬럼λͺ… is null

is null
is not null

κ°•μ˜μ‹€ <-> 집

  • 슀크립트 파일(*.sql)
  • λ°±μ—…/볡ꡬ

ex06_column

컬럼 λ¦¬μŠ€νŠΈμ—μ„œ ν•  수 μžˆλŠ” 행동
select 컬럼 리슀트
컬럼 μžλ¦¬μ— λ¬Έμžμ—΄ 연산을 ν•  μˆ˜λ„ 있고, κ·Έλƒ₯ 숫자λ₯Ό 넣을 μˆ˜λ„ μžˆλ‹€.

Java Stream > list.stream().distinct().forEach() -> 쀑볡 제거

distinct

  • 컬럼 λ¦¬μŠ€νŠΈμ—μ„œ μ‚¬μš©
  • 쀑볡값 제거
  • distinct 컬럼λͺ…
SELECT DISTINCT BUSEO FROM TBLINSA ;

case

  • λŒ€λΆ€λΆ„μ˜ μ ˆμ—μ„œ μ‚¬μš© κ°€λŠ₯
  • 쑰건문 μ—­ν• 
  • 쑰건을 λ§Œμ‘±ν•˜μ§€ λͺ»ν•˜λ©΄ null을 λ°˜ν™˜(맀우 μ€‘μš”)
SELECT
	NAME, SUDANG,
	CASE 
		WHEN name LIKE '홍%' THEN 50000
		ELSE 0
	END + SUDANG 
FROM
	TBLINSA ;

ex07_order

select 컬럼리슀트 - 3. 컬럼 지정(보고싢은 컬럼만 κ°€μ Έμ˜€κΈ°) > Projection
from ν…Œμ΄λΈ” -------- 1. ν…Œμ΄λΈ” 지정
where 쑰건; -------- 2. 쑰건 지정(보고싢은 ν–‰λ§Œ κ°€μ Έμ˜€κΈ°) > Selection
order by μ •λ ¬κΈ°μ€€; - 4. μˆœμ„œλŒ€λ‘œ

order by 절

  • 원본 ν…Œμ΄λΈ” μ •λ ¬(X) > 였라클 μ €μž₯된 데이터 > 개발자 μ ‘κ·Ό (X), 였라클 슀슀둜 관리 (O)
  • κ²°κ³Ό ν…Œμ΄λΈ” μ •λ ¬(O)
  • order by 컬럼λͺ… [ASC|DESC]
SELECT * FROM TBLINSA ORDER BY BUSEO ASC, JIKWI DESC, BASICPAY desc ; -- 3μ°¨ μ •λ ¬

비ꡐ > 숫자, 문자, λ‚ μ§œ > μ •λ ¬ κ°€λŠ₯
λ…λ¦½μ μœΌλ‘œ 정렬에 μ‚¬μš©λ  수 μžˆλ‹€.
case endλŠ” 컬럼이 λ“€μ–΄κ°ˆ 수 μžˆλŠ” κ³³μ—λŠ” 항상 λ“€μ–΄κ°ˆ 수 μžˆλ‹€.

ex08_aggregation

ν•¨μˆ˜, Funtion

  1. λ‚΄μž₯ν˜• ν•¨μˆ˜(Built-in Function)
  2. μ‚¬μš©μž μ •μ˜ ν•¨μˆ˜(User Function) > ANSI-SQL(X), PL/SQL(O)

집계 ν•¨μˆ˜, Aggregation Function(맀우 μ€‘μš”)

  • μ•„μ£Ό 쉬움 > 뒀에 λ‚˜μ˜€λŠ” μˆ˜μ—…κ³Ό κ²°ν•© > κ½€ 어렀움 -> 정리 잘 ν•΄λ‘μž
  1. count()
  2. sum()
  3. avg()
  4. max()
  5. min()
  6. count()
  • κ²°κ³Ό ν…Œμ΄λΈ”μ˜ λ ˆμ½”λ“œ 수λ₯Ό λ°˜ν™˜ν•œλ‹€.
  • number count(컬럼λͺ…)
  • null 값은 μΉ΄μš΄νŠΈμ—μ„œ μ œμ™Έλœλ‹€. (μ€‘μš”)
-- λ‚¨μžμˆ˜ + μ—¬μžμˆ˜ > 1개의 ν…Œμ΄λΈ”λ‘œ κ°€μ Έμ˜€μ‹œμ˜€. *** 자주 μ‚¬μš©λ˜λŠ” νŒ¨ν„΄
SELECT
	count(CASE
		WHEN gender = 'm' THEN 1
	END) AS λ‚¨μžμΈμ›μˆ˜,
	count(CASE
		WHEN gender = 'f' THEN 1
	END) AS μ—¬μžμΈμ›μˆ˜
FROM
	tblcomedian;

ν”„λ‘œμ νŠΈ μ‚°μΆœλ¬Ό 제좜

개인과제, ν›„κΈ°, νŒ€κ³Όμ œ 제좜

profile
μ°¨κ·Όμ°¨κ·Ό ν•˜λ‚˜μ”©

0개의 λŒ“κΈ€