본문 바로가기

Web Study/DataBase21

SQLD - 서브쿼리 서브쿼리 하나의 SQL 문에 포함된 또 다른 SQL 문 서브쿼리 -> 메인쿼리의 칼럼 모두 사용 가능 메인쿼리 -> 서브쿼리 칼럼 사용 불가 메인쿼리의 결과가 서브쿼리로 제공될 수도, 서브쿼리의 결과가 메인쿼리로 제공될 수도 있다. 서브쿼리 특징 1. 서브쿼리는 괄호로 감싼다. 2. 서브쿼리가 제일 먼저 실행된다. 3. 서브쿼리는 단일행/다중행 비교 연산자와 함께 사용된다. 4. 단일행 비교 연산자는 서브쿼리의 결과가 반드시 1건 이하 5. 다중행 비교 연산자의 서브쿼리는 결과 건수와 무관 6. 서브쿼리에서는 Order by 절을 사용할 수 없다. *Order by는 메인쿼리의 맨 마지막 문장에 위치해야함 동작하는 방식에 따른 서브쿼리 분류 비 연관 서브쿼리 - 서브쿼리가 메인쿼리의 칼럼을 가지고 있지 .. 2023. 10. 31.
SQLD - 계층형 질의 계층형 질의란? 동일 테이블에 계층적으로 상위와 하위 데이터가 포함된 데이터를 의미 테이블에 존재하는 계층형 데이터를 조회하기 위해 계층형 질의 사용 부모 자식 간의 수직 관계를 트리 구조 형태로 보여주는 쿼리이다. 루트 노드의 Level 값은 1이다. (0이 아님에 주의!) Oracle 에서만 가능 Start with : 계층 구조 전개의 시작 위치를 지정하는 구문, 루트 데이터 지정 시작 데이터는 결과 목록에 포함되어진다! Connect by : 다음에 전개될 자식 데이터를 지정하는 구문 자식 데이터는 Connect by 절에 주어진 조건을 만족해야 한다. Prior : Connect by 절에 사용되며, 현재 읽은 칼럼을 지정 Prior 자식 = 부모 이면 부모 -> 자식 방향으로 순방향 전개 ==.. 2023. 10. 29.
SQLD - 함수 - 단일행 함수 단일행 함수 1. Select, Where, Order by 절에서 사용 가능 2. 각 행들에 대해 개별적으로 작용 3. 각각의 행에 대한 조작 결과를 리턴 4. 여러 인자를 입력해도 하나의 결과만 리턴 5. 여러 개의 인수를 가질 수도 있다. 6. 함수의 중첩이 가능 단일행 함수의 종류 - 문자형 함수 : 문자를 입력하면 문자나 숫자를 반환 - Lower, Upper, Substr, Length, Ltrim, Rtrim, Trim ... Ascii(문자/숫자) : 문자나 숫자를 아스키코드로 변경 Chr(아스키번호) : 아스키코드를 숫자나 문자로 변경, ex) Chr(10)은 줄바꿈임 Concat(문자열, 문자열2) : 문자열1, 문자열2를 이어줌 - 숫자형 함수 : 숫자를 입력하면 숫자를 반환 - Ab.. 2023. 9. 13.
SQLD - Join 에 대해 Join 두 개 이상의 테이블 들을 연결 또는 결합하여 데이터를 출력하는 것 - 일반적으로 PK나 FK 값의 연관에 의해 Join이 성립되지만, 특별한 경우엔 PK, FK 관계가 없어도 논리적인 값들의 연관만으로 JOin이 성립 가능하다. - 주의할 것은, From 절에서 여러 테이블이 나열되더라도 SQL에서 데이터를 처리할 땐 두 개의 집합 간에만 조인이 일어난다는 점이다. - 테이블에 대한 alias를 적용하여 SQL 문장을 작성했을 때 Where절과 select 절에는 테이블명이 아닌 테이블에 대한 alias를 사용해야 한다. 다만, 하나의 SQL문장 내 유일하게 사용하는 컬럼명이라면 alias를 생략해도 된다. Join이 필요한 이유 - 정규화란 불필요한 데이터의 정합성을 확보하고 이상현상을 피하.. 2023. 9. 10.