본문 바로가기

개발일지/SQL92

SQL 기초27 CASE # CASE # 일종의 IF문 같은 원리라고 한다. # 기본1 CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE some_other_result END # 기본2 SELECT a CASE WHEN a = 1 THEN ‘one’ WHEN a = 2 THEN ‘two’ ELSE ‘other’ AS label END FROM test; # 예시1 SELECT customer_id, CASE WHEN (customer_id 2022. 8. 31.
SQL 기본 26 셀프 조인(self join) # self join (셀프 조인) # 기본 SELECT tableA.col, tableB.col FROM table AS tableA JOIN table AS tableB ON tableA.some_col = tableB.other_col # 기본에 대한 해석코드 #1 SELECT emp.col, report.col FROM employees AS emp JOIN employees AS report ON emp.emp_id = report.report_id #2 SELECT emp.name, report.name AS rep FROM employees AS emp JOIN employees AS report ON emp.emp_id = report.report_id ================= 문제.. 2022. 8. 31.
SQL 기초 25 서브쿼리 (sub query) # 서브 쿼리 SELECT title, rental_rate FROM film WHERE rental_rate > (SELECT AVG(rental_rate) FROM film) # 문제1 단계1 # rental 테이블에서 rental_date가 2005년 5월 29일 부터 30일까지의 값을 가져와 줘 SELECT * FROM rental WHERE rental_date BETWEEN '2005-05-29' AND '2005-05-30' 단계2 # inventory 테이블의 film_id 컬럼 값중에서 SELECT inventory.film_id # rental 테이블과 일치하는 것 중에서 FROM rental # inventory 컬럼과 결합해줘 # 그리고 결합한 값중에서 inventory_id 와 r.. 2022. 8. 31.
SQL 기초24 문자열 함수와 문자열 연산 # 문자열 함수와 연산자 #1 해당하는 컬럼의 테이블 값에 대하여 길이 값 리턴 SELECT LENGTH(first_name) FROM customer #2 다중컬럼 테이블 값 합쳐서 출력 *매우 중요 1) SELECT first_name || last_name AS merged_names FROM customer 2) SELECT first_name || ' '|| last_name AS merged_names FROM customer 3) SELECT first_name || last_name || '@gmail.com' FROM customer 4) SELECT LOWER(LEFT(first_name,1)) || LOWER(last_name) || '@gmail.com' AS custom_email.. 2022. 8. 29.