본문 바로가기

개인공부 정리/다양한 질문들

0203 수업 질문 - 조인(JOIN), 서브쿼리, DML

Q1. 비등가 조인에서 왜 S.HISAL을 빼면 실행이 안되는거지?

SELECT * FROM EMP E, SALGRADE S 
WHERE E.SAL BETWEEN S.LOSAL AND S.HISAL;

BETWEEN 구문은 (BETWEEN x AND y)이 한묶음이기 때문.

 

Q2. ORDER BY에 대해 알려줘

SQL 의 ORDER BY절은 쿼리 결과를 특정 순서로 정렬하는 데 사용됩니다. 정렬 순서를 결정하는 데 사용해야 하는 열과 정렬이 오름차순(ASC)인지 내림차순(DESC)인지 여부를 지정합니다.

사용을 위한 기본 구문 ORDER BY은 다음과 같습니다.

SELECT column1, column2, ...
FROM table_name
ORDER BY column_name [ASC|DESC];

ORDER BY 다음 은 쿼리에서 사용하는 예입니다 .

SELECT name, age
FROM employees
ORDER BY age DESC;

이 쿼리는 테이블에서 직원의 이름과 나이를 검색하고 열의 employees값을 기준으로 결과를 내림차순으로 정렬합니다 . age쿼리는 나이 값이 가장 높은 행을 먼저 반환한 다음 나이 값이 낮은 행을 반환합니다.

ORDER BY절에 쉼표로 구분된 여러 열 이름을 포함하여 여러 열을 기준으로 정렬할 수도 있습니다 .

정렬은 지정된 첫 번째 열, 두 번째 열 등을 기준으로 수행됩니다

 

Q3. 다중행 서브쿼리에서 중복제거로 DISTINCT를 사용하면 누가 먼저 사라져?

 

그거는 그냥 자기가 넣은 조건에 따라 우선순위를 쓸 수 있는거고 DISTINCT를 쓴다고 해서

우선순위의 개념으로 누가 먼저 사라지지는 않음

 

Q4. TCL과 DML의 차이는?

TCL(트랜잭션 제어 언어) 및 DML(데이터 조작 언어)은 SQL 명령의 두 가지 범주입니다.

TCL 명령은 데이터베이스에서 트랜잭션을 관리하는 데 사용됩니다. 트랜잭션은 단일 작업 단위로 실행되는 일련의 작업입니다. TCL 명령은 트랜잭션을 시작, 커밋 또는 롤백하고 트랜잭션 내에 저장점을 만드는 데 사용됩니다.

반면에 DML 명령은 데이터베이스에 저장된 데이터를 조작하는 데 사용됩니다. DML 명령에는 각각 데이터베이스에서 데이터를 검색, 추가, 수정 및 삭제하는 데 사용되는 SELECT, INSERT, UPDATE 및 DELETE가 포함됩니다.

따라서 TCL과 DML의 주요 차이점은 TCL 명령은 트랜잭션을 관리하는 데 사용되는 반면 DML 명령은 데이터를 조작하는 데 사용된다는 것입니다.

 

Q5. 데이터베이스 스키마는 무엇을 의미하나요?

데이터베이스 스키마는 데이터베이스의 청사진 또는 구조화된 표현입니다. 테이블과 각 테이블의 열 및 데이터 유형 간의 관계를 포함하여 데이터베이스의 구조를 정의합니다.

데이터베이스 스키마는 테이블에 있는 열의 이름과 데이터 유형, 테이블 간의 관계(예: 일대일, 일대다, 다대다) 및 데이터에 대한 제약 조건(예: 고유 키)을 지정합니다. , 검사 제약 조건, 외래 키). 스키마는 또한 데이터베이스의 인덱스, 뷰 및 저장 프로시저의 구조를 정의합니다.

데이터베이스 스키마는 데이터베이스 관리 시스템에서 스키마에 지정된 규칙과 제약 조건을 적용하고 데이터베이스에서 수행되는 데이터 검색 및 조작 작업을 최적화하는 데 사용됩니다. 스키마는 일반적으로 SQL의 데이터 정의 언어(DDL) 문을 사용하여 생성됩니다.

데이터베이스에는 여러 스키마가 있을 수 있으며 각 스키마에는 여러 테이블 및 기타 데이터베이스 개체가 포함될 수 있습니다. 데이터베이스 스키마는 데이터베이스의 성능, 확장성 및 보안에 영향을 미치므로 데이터베이스 설계의 중요한 측면입니다.

 

Q6. OUTER JOIN ON과 JOIN ON의 차이에 대해서 설명해줄래

JOIN ON은 INNER JOIN의 일종으로, 조인되는 두 테이블 모두에 대해 조인 조건이 참인 행만 반환됩니다. 조인 조건은 두 테이블의 일치하는 행에 대한 기준을 지정합니다. 한 테이블의 행에 대해 일치하는 항목이 없으면 결과 집합에 포함되지 않습니다.

반면에 OUTER JOIN ON은 한 테이블("왼쪽" 또는 "오른쪽" 테이블이라고 함)의 모든 행과 다른 테이블("오른쪽" 또는 "왼쪽" 테이블이라고 함)에서 일치하는 행을 반환합니다. 테이블). 오른쪽(또는 왼쪽) 테이블의 행과 일치하는 항목이 없는 경우 오른쪽(또는 왼쪽) 테이블의 열에 NULL 값이 있는 상태로 결과 집합에 계속 포함됩니다.

728x90
반응형
LIST