SQL74 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. SQL 기본 흐름 #1 기본 테이블 생성 CREATE TABLE acount( # SERIAL에 대해서 더욱 공부하자 user_id SERIAL PRIMARY KEY, # unique로써 중복값이 없게끔 username VARCHAR(50) UNIQUE NOT NULL, password VARCHAR(50) NOT NULL, email VARCHAR(250) UNIQUE NOT NULL, create_on TIMESTAMP NOT NULL, last_login TIMESTAMP ) #2 기본테이블에 REFERENCE 하는 테이블 및 추가테이블 생성 1) CREATE TABLE acount_job( user_id INTEGER REFERENCES acount(user_id), job_id INTEGER REFERENCES .. 2022. 8. 29. 이전 1 ··· 4 5 6 7 8 9 10 ··· 19 다음