반응형

데이터베이스 4

AGGREGATE FUNCTION, ORDER BY, GROUP BY, HAVING

※MySQL 기준ORDER BY조회 결과를 특정 attribute(s) 기준 정렬 시 사용오름차순(ASC, default)과 내림차순(DESC)AGGREGATE FUNCTION여러 tuples의 정보를 NULL값을 제외하고 요약해, 하나의 값으로 추출하는 함수COUNT, SUM, MAX, MIN, AVGGROUP BY관심 있는 attribute(s) 기준으로 그룹을 나눠, '그룹별 aggreaget function 적용을 원할 때 사용'grouping attribute(s) : 그룹을 나누는 기준이 되는 attribute(s)여기에 NULL 값이 있으면, NULL 값 가지는 tuple끼리 묶임HAVINGGROUP BY와 함께 사용aggregate function 결과값을 바탕으로 그룹 필터링 시 사용해당..

데이터베이스 2024.12.27

JOIN

※MySQL 기준Join : 두 개 이상 tables에 있는 데이터를 한 번에 조회Implicit Joinfrom절엔 tables만 나열, where절에 join condition을 명시하는 방식old-style join syntaxwhere절에 selection conditions&join condition이 같이 있어 가독성이 떨어짐복잡한 join query 작성 시, 실수할 가능성 높음Explicit Joinfrom절에 JOIN 키워드와 함께 joined tables 명시하는 방식from절에서 ON + join condition이 명시됨가독성이 좋고, 복잡한 join query 작성 시에도 실수 가능성 낮음Inner Join두 table에서 join condition을 만족하는 tuples로 res..

데이터베이스 2024.12.27

NULL, three-valued-logic

Meaning of 'NULL' in SQL : unknown, unavailable/withheld, not applicable값이 알려지지 않았거나, 이용할 수 없거나, 해당사항이 없어 적용할 수 없음을 의미 NULL과 Three-valued-logicSQL에서 NULL과 비교 연산 시, 결과는 Unknown(TRUE와 FALSE 모두 가능성이 있음)= Three-valued-logic : 비교/논리 연산 결과는 TRUE, FALSE, UNKNWON을 가짐 WHERE절의 condition(s)where절의 조건의 결과가 TRUE인 tuple(s)만 선택되며, FALSE/UNKNOWN인 tuple은 선택되지 않음 NOT INNOT IN(v1, v2, v3) : v!=v1 AND v!=v2 AND v!=..

데이터베이스 2024.12.27

INSERT, UPDATE, DELETE

INSERT statementINSERT INTO table_name VALUES(comma-separated all values);INSERT INTO table_name(attributes list) VALUES(attributes list 순서와 동일하게 comma-separated values);INSERT INTO table_name VALUES(..., .), (..., ..), (..., ..);INSERT INTO table_nameVALUES(-- schema에 맞게 값 넣기 --);-- 만약 정의에서 check constraint를 사용하게 되면, 일부 값이 그에 부합하지 않을 경우 error 메세지가 발생함--  UPDATE statementUPDATE table_name(s) SET..

데이터베이스 2024.11.11
반응형