기타 (36) 썸네일형 리스트형 [SQLD] 비전공자(국비교육생)의 제 52회 SQL 개발자(SQLD) 합격 후기 내가 sqld 합격 후기를 올리는 날이 오다니..너무나도 감격이다^____^ 블로그 후기 찾아보면 3주 공부한다는 사람도 꽤 많았는데 나는 3주는 부족할 느낌이라서 한달~한달 반 정도 공부함 물론 내내 빡세게는 아니고 설렁설렁 하다가 3주전부터는 빡세게함 공부 방법 1. 유투브로 개념 강의 보기 2. 노랭이 개정판 문제 풀기 3. 해설 보면서 오답 + 이해 안되는 부분 강의 찾아보기 4. 강의 봐도 모르는 부분 노트에 적어두기 (눈에 안 들어와도 손에 익게끔하기위해) 5. 개념 강의 다시 보면서 노트에 적은 부분 위주로 익히기 6. 노랭이 개정판 문제 다시 풀기 7. 기출문제 찾아보기 공부방법은 특별하진 않고 그냥 시간 많이 투자해서 인강 많이 보고 노랭이에 나오는 문제는 다 맞춘다는 생각으로 공부함 1.. [sqld] 참조동작(Referential Action) Delete(/Modify) Action (부서-사원) Cascade 부모 삭제 시 자식 같이 삭제 Set Null 부모 삭제 시 자식 해당 컬럼 Null Set Default 부모 삭제 시 자식 해당 컬럼 Default 값 Restrict 자식 테이블에 PK값이 없는 경우만 부모 삭제 허용 No Action 참조무결성을 위반하는 삭제/수정 액션을 취하지 않음 Insert Action (부서-사원) Automatic 부모 테이블에 PK가 없는 경우 부모 PK를 생성 후 자식 입력 Set Null 부모 테이블에 PK가 없는 경우 자식 외부키를 Null Set Default 부모 테이블에 PK가 없는 경우 자식 외부키를 지정된 Default 값 Dependent 부모 테이블에 PK가 존재할 때만 자식 입력 .. [sqld] 트랜잭션 4가지 특성 (원자성, 일관성, 고립성, 지속성) 특성 설명 원자성 (Automicity) 트랜잭션에서 정의된 연산들은 모두 성공적으로 실행되든지 아니면 전혀 실행되지 않은 상태로 남아 있어야 한다. (All or Nothing) 일관성 (Consistency) 트랜잭션이 실행 되기 전의 데이터베이스 내용이 잘못되어 있지 않다면 트랜잭션이 실행된 이후에도 데이터베이스의 내용에 잘못이 있으면 안 된다. 고립성 (Isolation) 트랜잭션이 실행되는 도중에 다른 트랜잭션의 영향을 받아 잘못된 결과를 만들어서는 안 된다. 지속성 (Durability) 트랜잭션이 성공적으로 수행되면 그 트랜잭션이 갱신한 데이터베이스의 내용은 영구적으로 저장된다. [sqld] 노랭이 개정판 2과목 28번 문제 ① id로 그룹핑하면 100 / 200 / 999 세개 ② having절에서 count(*) = 2 라는 조건이 있어서 200은 count가 3이기 때문에 탈락해서 100 / 999 ③ order by (case when id = 999 then 0 else id end) 에서 id가 999이면 0으로 치환하기 때문에 100 / 0 따라서 0 먼저 정렬하기 때문에 999 / 100 출력 따라서 정답은 2번 order by문에 case when구문이 들어가다니...너무나도 생소한 문제였다 하지만 이해 완~ [sqld] 공백문자('')를 insert하는 경우 oracle vs sql server 노랭이 개정판 11번 문제를 푸는 중 새롭게 알게 된 사실이 있어 기록하게 되었음 예시로 INSERT INTO 서비스 VALUES('999',''); 인 경우에 두번째 컬럼에 공백문자('')를 입력해주었다. 해당 경우에 DBMS에 따라 다르게 저장된다. ORACLE인 경우에는 공백문자('')가 NULL로 저장되고 SQL SERVER인 경우에는 공백문자('')가 그대로 저장된다. 따라서 SELECT 할 경우에는 ORACLE인 경우에는 컬럼 IS NULL로 조건절 설정, SQL SERVER인 경우에는 컬럼 = ''로 조건절 설정해주어야 한다. [sqld] 순위 관련 함수 (rank(), dense_rank(), row_number()) * 순위 관련 함수는 정렬이 필수 rank() dense_rank() row_number() 1 1 1 2 2 2 2 2 3 4 3 4 rank()와 dense_rank()는 동일 값인 경우 동일 순위 - rank()는 동일 값 제외하고 이어서 순위 - dense_rank()는 동일 값 갯수 상관없이 이어서 순위 row_number()는 동일 값인 경우에도 순차적 순위 추가적인 부분은 다음에 이어서 추가할 예정... 자세히 설명나와있는 링크 첨부 https://doorbw.tistory.com/221 [MS SQL Server] #10_순위 함수(RANK, DENSE_RANK, ROW_NUMBER, NTILE) 안녕하세요. 문범우입니다.이번 글에서는 SQL Server에서의 순위함수들(RANK, DENS.. [sqld] null 이란? (연산, 정렬, 함수) null * 정의 0이나 공백('')이 아닌 부재 또는 모르는 값 * 산술연산 null +1 null -3 null * null => null * 비교연산 null = null null = 2 ~> 알 수 없음 (unknown) where 조건절(null 비교연산 포함되어 unknown) => false => null을 비교하려면 is null 또는 is not null 사용해야함 * 정렬 oracle : 가장 큰 값으로 인식 sql server : 가장 작은 값으로 인식 https://uujjjjjnn.tistory.com/76 [sqld] 컬럼에 null이 있는데 order by desc 정렬한 경우 (oracle vs sql server) 학원다니면서 실습 할 때는 잘 몰랐는데, null 이 녀석 .. [sqld] 날짜형 함수 시간 더하기 날짜 + 1/24/60/60 => 1일/24시간/60분/60초 /는 문자 그대로 나누기 하는 연산이라서 1일을 24시간으로 나누고 (=1시간) 60분으로 나누고 (=1분) 60초로 나누면 1초가 나옴 그래서 날짜 + 1초가 정답~~ 만약 날짜 + 1/24/(60/10) 이라면??? => 1일/24시간/(60/10)분 로 계산해서 + 10분이 정답~~ 이전 1 2 3 4 5 다음