- [ SQL ]SQLD 관리 구문(DML, TCL, DDL, DCL)2022-05-25 02:17:34SQLD 범위 마지막!! 관리구문 DML Data Manipulation Language, 데이터 조작어 데이터를 테이블에 입력 / 수정 / 삭제 INSERT 단일행 한 번에 한 행만 입력된다 INSERT INTO 테이블 [(칼럼1, 칼럼2...)] VALUES (값1, 값2...)' 칼럼명과 입력 값이 1:1 매핑이 되어야 한다 칼럼 순서는 테이블에 정의된 순서와 같을 필요는 없다 INTO절에 기술하지 않은 칼럼은 기본값인 NULL로이 된다(not null 칼럼은 오류가 남) INSERT INTO 테이블 VALUES (값1, 값2...); 이렇게 INTO절에 칼럼명이 생략되면 모든 칼럼 값을 기술해야 한다. 널 허용이어도 무조건.(칼럼명을 지정하는 게 더 안정적임) NULL이나 ' ..
- [ SQL ]SQL활용-3(계층형 쿼리, PIVOT, 정규표현식)2022-05-20 17:08:30계층형 질의와 셀프 조인 테이블에 계층형 데이터가 있으면 계층형 질의로 조회해야 한다 계층형 데이터란 계층적으로 상위-하위가 나뉘는 데이터 ex) 관리자와 사원 순환 관계 데이터 모델이란? 셀프 조인이나 계층형 질의로 조회해야 하는 데이터로 사원인데 관리자도 되는 테이블을 순환 관계 데이터 모델이라고 한다 셀프 조인 동일 테이블 사이에 조인을 하는 것 식별하기 위해서 ALIAS를 반드시 사용하자 FROM절에 동일 테이블이 두 번 이상 나온다 매니저를 JONES로 두고 있는 부하 사원? SELECT B.EMPNO, B.ENAME, B.MGR FROM EMP A, EMP B WHERE A.ENAME = 'JONES' AND B.MGR = A.EMPNO; 반대로 JONES의 관리자를 조회하려면 ..
- [ SQL ]SQL활용 - 2(윈도우 함수, TOP N 쿼리)2022-05-12 19:22:57윈도우 함수 윈도우 함수행과 행간의 관계를 쉽게 정의하기 위한 함수GROUP BY랑 윈도우 함수 함께 사용 가능 종류 그룹 내 순위 관련 함수: RANK, DENSE_RANK, ROW_NUMBER 그룹 내 집계 관련 함수: SUM, MAX, MIN, AVG, COUNT 그룹 내 행 순서 관련 함수: FIRST_VALUE, LAST_VALUE, LAG, LEAD 그룹 내 비율 관련 함수: CUME_DIST, PERCENT_RANK, NTILE, RATIO_TO_REPORT 통계 분석 관련 함수: CORP, COVAR_POP, STDDEV, VARIANCE, REGR_SLOPE OVER SELECT 윈도우함수(arguments) OVER ([PARTITION BY 칼럼] [ORDER BY] [WINDOWIN..
- [ SQL ]SQL 활용 - 1(서브 쿼리, 그룹 함수)2022-04-14 21:42:50서브 쿼리 서브 쿼리는 메인 쿼리의 칼럼을 활용할 수 있다.(반대는 불가) 메인 쿼리에서 서브 쿼리의 칼럼을 쓰고 싶다면 조인, 스칼라 서브 쿼리 메인 쿼리의 결과가 서브 쿼리로 제공될 수도 있고, 서브 쿼리의 결과가 메인 쿼리로 제공될 수도 있다. 조인은 집합간의 곱(product)의 관계다 1 : 1관계 테이블 조인 => 1레벨(1*1) 집합 1 : M관계 테이블 조인 => M레벨(1*M) 집합 M : N관계 테이블 조인 => MN레벨(M*N) 집합 그러나 서브 쿼리는 서브 쿼리의 레벨과 무관하게 항상 메인 쿼리 레벨로 결과 집합이 생성된다. 서브 쿼리는 ()로 감싼다 서브 쿼리에서 비교 연산자 사용 가능 중첩 / 스칼라 서브 쿼리는 order by 사용 불가 서브 쿼리의 분류 동작하는 방식 비연관:..
- [ SQL ]SQLD 합격!2022-04-14 17:56:42문제지도 안 줘서 너무 섭섭하고... 기억도 잘 안 나고.. 그래서 그냥 결과 발표날 때까지 다른 분들 답도 안 보고 그랬다 (사실 고사장 나온 직후에 좀 보다가 틀린 걸 한 두 개씩 발견한 뒤로 눈을 감기로 함) 가결과(..?뭔가 단어가 이상해 보이네)는 전에 나왔지만 확정 결과가 나올 때까지 기다렸다 기뻐하기로 했다 점수 변화는 없었다 다행히 합격했으므로 좀 더 자신감 있게 정리본을 올려야겠다
- [ SQL ]SQL 기본 - 2(Group by, Order by, Join)2022-04-06 21:43:19Group By, Having절 집계 함수 Aggregate function 여러 행들의 그룹이 모여 그룹당 하나의 결과를 돌려준다 group by절은 행들을 소그룹화한다 select, having, order by절에 사용 가능하다 집계함수명 ([DISTINCT|ALL] 칼럼/표현식)DISTINCT는 같은 값을 하나의 데이터로 간주한다 ALL은 기본값 주로 숫자 유형에 사용되지만, MAX, MIC, COUNT는 문자/날짜 유형에도 사용 가능하다 MIN(d) => 가장 빠른 날짜 COUNT(*) NULL을 포함한 행의 수COUNT(DISTINCT 표현식) UNIQUE한 표현식 값 행의 수 COUNT(표현식) 표현식 값이 NULL인 것을 제외한 행의 수 SUM(표현식) NULL을 제외한 합계 AVG MAX..
- [ SQL ]SQL 기본 - 1(관계형 데이터베이스, SELECT, 함수, WHERE)2022-03-24 20:11:37관계형 데이터베이스 데이터베이스 파일 시스템은 하나의 파일에 여러 사용자가 동시에 입력/수정/삭제가 불가능해서 동시 사용하려면 데이터 파일을 복사해야 한다. 데이터가 복사되면 데이터의 정합성을 보장하기가 힘들다 물론, 단일 사용자/단일 애플리케이션이라면 DB보다 파일 시스템이 효율적이다 DB가 커지면서 효율적 관리 손상 예방 데이터 복구가 필요해졌다 그래서 나온 것이 DBMS(DataBase Management System). 보안 기능 제공(인증된 사용자) 제약조건 설정 => 데이터 무결성(Integrity) 갑작스런 장애로부터 데이터 보호 및 복구 RDBMS는 정규화, 동시성 관리, 병행 제어 등의 기능을 제공한다 메타 데이터를 총괄 관리할 수 있고 체계화, 표준화하는데 유용하다 SQL Structu..
- [ SQL ]데이터모델링의 이해2022-03-17 18:04:48데이터 모델링 모델링 일정한 표기법으로 현실 세계를 추상화/단순화/명확화하여 표현한다 추상화: 현실세계를 일정한 형식에 맞추어 표현 단순화: 복잡한 현실세계를 약속 및 제한한 표기법/언어를 이용해 쉽게 이해할 수 있도록 함 명확화: 누구나 이해하기 쉽게 애매모호함을 제거한다. 정확하게 현상을 기술한다. 데이터 모델링 의사결정 과정을 지원한다 통합관점 뷰인 개념 스키마를 만드는 과정이라고 볼 수 있다. 시스템 구현을 포함한 업무분석 및 업무형상화 + DB 구축 정보시스템을 구축하기 위한 데이터 관점의 업무 분석 현실세계의 데이터에 대해 약속된 표기법으로 표현 데이터베이스를 구축하기 위한 분석 및 설계의 과정 제공하는 기능 시스템을 현재 또는 원하는 모습으로 가시화 시스템의 구조/행동 명세화 시스템을 구축하..
- [ SQL ]44회 SQLD2022-03-15 14:13:27지난 12일 토요일 44회 SQLD 시험을 치고 왔다 근거 없는 자신감으로 SQLP를 준비하려고 책을 다 사 놨었는데 SQLD 시험 영역을 벗어나자마자 이건 아니라는 생각밖에 안 들었고 SQLD로 접수하게 됐다 그래서 시험은 쳤지만 이제 와서 정리해 논 걸 업데이트하기로 했다 언젠가 다시 근거 없이 SQLP에 도전하고 싶어질 지도 모르니까...
- [ SQL ]SQL 더 나은 SELECT를 위하여2020-11-08 23:59:33이번 게시글에서는 SELECT 기능을 개선해주는 DISTINCT, ORDER BY, LIMIT, LIKE에 대해서 다루겠습니다. 1. DISTINCT 중복 없는 결과를 보기 위해서 쓰는 명령어입니다. SELECT DISTINCT FROM ; 스트링, 넘버 다 적용됩니다. SELECT DISTINCT CONCAT(, ' ', ) FROM ; 여러 개의 텍스트/컬럼을 조합해서 유니크한 값을 찾을 때는 하나의 컬럼을 받는 DISTINCT 안에 CONCAT이 와야 합니다. 2. ORDER BY 데이터를 정렬해줍니다. ORDER와 BY 사이에 공백까지 쳐줘야 합니다!! SELECT FROM ORDER BY ; 컬럼1과 컬럼2는 같아도 되고 달라도 됩니다. 기본값은 오름차순입니다. SELECT FROM ORDER ..