SQL
-
SQL - DML, DDL, DCLSQL 2023. 10. 5. 17:30
DML = 데이터 조작 SQL의 CRUD가 DML (CRUD가 더 넓은 개념) SELECT [컬럼명] FROM [테이블] WHERE [조건] UPDATE [테이블명] SET [컬럼 = 변경값] WHERE [조건] INSERT INTO [테이블명] (컬럼1, 컬럼2, 컬럼3) VALUES (값1, 값2, 값3) DELETE FROM [테이블명] WHERE [조건] *delete는 주어 없음! SELECT customer_id, SUM(total_price) AS order_total FROM orders WHERE order_date >= '2023-01-01' AND order_date = 1000 ORDER BY order_total DESC LIMIT 10; select 문 UPDATE table_n..
-
SQL - 내장함수SQL 2023. 2. 21. 19:22
IF문 SELECT IF(1>3, 'true', 'false'); -- IF(수식, 참, 거짓) SELECT IFNULL(TLNO, "NONE") AS TLNO 날짜 관련 DATE_FORMAT(DATE_OF_BIRTH,'%Y-%m-%d') 날짜 값 양식 지정 Y=2022 y=22 대소문자 구분 필요 ORDER BY DATEDIFF(endtime, starttime) DESC DATEDIFF 날짜 차이를 계산해주는 내장 함수 1일과 3일의 날짜 차이는 2일이지만, 1~3일은 총 3일이므로 DATEDIFF에 +1을 해줘야 할 때가 있다 계산 관련 ROUND(AVG(DAILY_FEE)) ROUND(AVG(REVIEW_SCORE),2) // 소수점 3번째 자리에서 반올림 ABS 절대값 ROUND 반올림 TRUN..
-
SQL - JOINSQL 2023. 2. 21. 19:21
select * from student s inner join professor p on s.pid = p.pid inner join professor using (pid) inner join: 양쪽 테이블에 공통된 값 "하나"를 기준으로 join 공통 column의 이름까지 같다면 using도 사용가능하다. SELECT * FROM instructor JOIN teaches SELECT * FROM instructor, teaches FROM에서 콤마는 JOIN과 같다 OUTER JOIN LEFT JOIN INNER JOIN이 가능하면 INNER JOIN 값을, 아니면 왼쪽 테이블의 값만 출력한다. 이때 오른쪽 테이블의 KEY가 NULL인 것을 고르면 차집합이 된다 select * from studen..
-
SQL - SELECTSQL 2023. 2. 21. 19:15
select sname as 이름, snumber as 학번 from student where gpa > 3.0 and sname like 'a%' order by snumber limit 3; where: 학점이 3 이상이고 이름이 a로 시작하는 from: 학생들의 select: 이름과 학번을 order by: 학번 순으로 정렬하여 limit: 3명 출력한다 SELECT customer_id, SUM(total_price) AS order_total FROM orders WHERE order_date >= '2023-01-01' AND order_date = 1000 ORDER BY order_total DESC LIMIT 10; 실행 순서 select * from student; student 테이블..
-
데이터 정규형 (1NF, 2NF, 3NF, BCNF)SQL 2023. 1. 7. 14:32
데이터 정규화 -attribute간의 종속 관계를 분석, 여러개의 릴레이션으로 나눔 -데이터 중복으로 인한 일관성 훼손을 방지 정규형 -정규화의 정도를 나타내는 용어 학생과 과목, 교수를 하나의 테이블로 표현 = 데이터의 중복이 발생 -> 수정 이상 발생 가능 수정 이상 1)갱신 이상 - 중복된 데이터의 일부만 수정하여 일관성 훼손 2)삽입 이상 - 하나의 레코드에 여러 주제 -> 입력할 데이터가 없는 경우가 존재 (ex-담당 교수가 없는 학생) 3)삭제 이상 - 하나의 레코드에 여러 주제 -> 필요 이상의 데이터가 삭제 (ex- a과목을 듣는 유일한 학생이 퇴학 -> 과목 정보도 같이 삭제) 위 테이블을 위와 같이 쪼개면 효율적 제 1 정규형 (1NF) 관계형 모델의 릴레이션의 속성은 모두 원자값 (관..
-
관계대수 ( Relational Algebra )SQL 2023. 1. 7. 14:06
https://chopby.tistory.com/57 데이터베이스 4장 관계대수 우린 관계 대수에 대해서만 알아본다. 관계 대수 관계 연산자를 통해 복잡한 관계 대수식을 만들 수 있다. 관계 연산자는 크게 두가지로 나눌 수 있다. 1. 실렉션 연산자 2. 프로젝션 연산자 예시 chopby.tistory.com 이 글에 너무 잘 정리되어있어서 최대한 간단히 요약만 하기로 하였음 관계대수 -어떠한 질의를 수행할 것인가를 명시하는 절차적인 언어 -기존의 릴레이션과 관계 연산자를 사용해 원하는 릴레이션을 만들어내는/추려내는 과정 관계 연산자 selection - σ - select * - 행을 return projection - Π - select sid, sname - 열을 return *union compa..