top 90 sql interview questions
90 개의 가장 인기있는 SQL 인터뷰 질문 및 답변 :
이들은 신입생과 경험이 많은 후보자에게 가장 일반적이고 유용한 SQL 인터뷰 질문입니다. 이 기사에서는 SQL의 고급 개념에 대한 기본 사항을 다룹니다.
모바일 애플리케이션을 테스트하는 동안 접근 방식은 무엇입니까
인터뷰에 참석하기 전에 주요 SQL 개념을 빠르게 수정하려면 다음 질문을 참조하십시오.
최고의 SQL 인터뷰 질문
시작하자.
Q # 1) SQL이란 무엇입니까?
대답: Structured Query Language SQL은 소프트웨어 애플리케이션을 지원하기 위해 데이터베이스를 만들고 액세스하는 데 사용되는 데이터베이스 도구입니다.
Q # 2) SQL에서 테이블이란 무엇입니까?
대답: 테이블은 단일보기에서 레코드 및 해당 정보의 모음입니다.
Q # 3) SQL에서 지원하는 다양한 유형의 문은 무엇입니까?
대답:
세 가지 유형의 SQL 문이 있습니다.
a) DDL (데이터 정의 언어) : 테이블과 같은 데이터베이스 구조를 정의하는 데 사용됩니다. 여기에는 CREATE, ALTER 및 DROP과 같은 세 개의 문이 포함됩니다.
또한 읽기 = >> MySQL 테이블 만들기 자습서
일부 DDL 명령은 다음과 같습니다.
창조하다 : 테이블 생성에 사용됩니다.
CREATE TABLE table_name column_name1 data_type(size), column_name2 data_type(size), column_name3 data_type(size),
나이: ALTER 테이블은 데이터베이스의 기존 테이블 개체를 수정하는 데 사용됩니다.
ALTER TABLE table_name ADD column_name datatype
또는
ALTER TABLE table_name DROP COLUMN column_name
b) DML (데이터 조작 언어) : 이러한 문은 레코드의 데이터를 조작하는 데 사용됩니다. 일반적으로 사용되는 DML 문은 INSERT, UPDATE 및 DELETE입니다.
SELECT 문은 테이블의 모든 또는 관련 레코드를 선택하는 데 사용되는 부분 DML 문으로 사용됩니다.
c) DCL (데이터 제어 언어) : 이 명령문은 GRANT 및 REVOKE 데이터베이스 액세스 권한과 같은 권한을 특정 사용자에게 설정하는 데 사용됩니다. .
Q # 4) DISTINCT 문을 어떻게 사용합니까? 그 용도는 무엇입니까?
대답: DISTINCT 문은 SELECT 문과 함께 사용됩니다. 레코드에 중복 값이 포함 된 경우 DISTINCT 문을 사용하여 중복 레코드 중에서 다른 값을 선택합니다.
통사론:
SELECT DISTINCT column_name(s) FROM table_name;
Q # 5) SQL에서 사용되는 다른 조항은 무엇입니까?
대답:
WHERE 조항 : 이 절은 조건을 정의하고 주어진 조건을 충족하는 레코드 만 추출 및 표시하는 데 사용됩니다.
통사론:
SELECT column_name(s) FROM table_name WHERE condition;
GROUP BY 절 : SELECT 문과 함께 사용하여 지정된 값을 사용하여 실행 된 쿼리의 결과를 그룹화합니다. 테이블의 열 이름과 값을 일치시키고 그에 따라 최종 결과를 그룹화합니다.
추가 읽기 => 자습서 별 MySQL 그룹
통사론:
SELECT column_name(s) FROM table_name GROUP BY column_name;
HAVING 절 : 이 절은 GROUP BY 절과 관련하여 사용됩니다. 각 결과 그룹 또는 전체 결과에 단일 그룹으로 적용됩니다. WHERE 절과 매우 유사하지만 유일한 차이점은 GROUP BY 절 없이는 사용할 수 없다는 것입니다.
통사론:
SELECT column_name(s) FROM table_name GROUP BY column_name HAVING condition;
ORDER BY 절 : 이 절은 오름차순 (ASC) 또는 내림차순 (DESC)으로 쿼리 출력의 순서를 정의하는 데 사용됩니다. 오름차순 (ASC)이 기본값으로 설정되지만 내림차순 (DESC)은 명시 적으로 설정됩니다.
통사론:
SELECT column_name(s) FROM table_name WHERE condition ORDER BY column_name ASC|DESC;
USING 절 : USING 절은 SQL JOIN으로 작업하는 동안 사용됩니다. 테이블을 조인 할 때 열을 기준으로 동등성을 확인하는 데 사용됩니다. JOIN에서 ON 절 대신 사용할 수 있습니다.
통사론:
SELECT column_name(s) FROM table_name JOIN table_name USING (column_name);
Q # 6) SQL 제약 조건을 사용하는 이유는 무엇입니까? SQL에서 데이터베이스를 생성하는 동안 사용할 수있는 제약은 무엇입니까?
대답: 제약 조건은 테이블의 모든 레코드에 대한 규칙을 설정하는 데 사용됩니다. 제약 조건이 위반되면이를 유발 한 작업을 중단 할 수 있습니다.
제약 조건은 CREATE TABLE 문을 사용하여 데이터베이스 자체를 만드는 동안 또는 ALTER TABLE 문을 사용하여 테이블을 한 번 만든 후에도 정의됩니다.
SQL에는 다음과 같은 5 가지 주요 제약 조건이 사용됩니다.
- NULL 아님 : 이는 열에 일부 값이 있어야하며 NULL로 둘 수 없음을 나타냅니다.
- 독특한: 이 제약 조건은 각 행과 열에 고유 한 값이 있고 다른 행이나 열에서 값이 반복되지 않도록하는 데 사용됩니다.
- 기본 키 : 이 제약 조건은 고유 ID로 특정 레코드를 식별하기 위해 하나 또는 둘 이상의 열 조합과 같은 NOT NULL 및 UNIQUE 제약 조건과 관련하여 사용됩니다.
- 외래 키 : 테이블에있는 데이터의 참조 무결성을 보장하는 데 사용됩니다. PRIMARY KEY를 사용하여 한 테이블의 값을 다른 테이블과 일치시킵니다.
- 검사: 열의 값이 지정된 조건을 충족하는지 여부를 확인합니다.
Q # 7) SQL에서 사용되는 다른 JOINS는 무엇입니까?
대답:
SQL 데이터베이스의 여러 테이블에서 작업하는 동안 4 가지 주요 유형의 조인이 사용됩니다.
내부 조인 : 일치하는 열이 하나 이상있을 때 두 테이블 모두에서 모든 행을 반환하는 SIMPLE JOIN이라고도합니다.
통사론:
SELECT column_name(s) FROM table_name1 INNER JOIN table_name2 ON column_name1=column_name2;
예를 들어,
이 예에는 테이블이 있습니다. 종업원 다음 데이터로 :
두 번째 테이블의 이름은 합류.
다음 SQL 문을 입력하십시오.
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee INNER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
4 개의 레코드가 선택됩니다. 결과는 다음과 같습니다.
종업원 과 명령 테이블에 일치하는 고객 ID 값.
LEFT JOIN (LEFT OUTER JOIN) : 이 조인은 LEFT 테이블의 모든 행과 RIGHT 테이블의 일치하는 행을 반환합니다. .
통사론:
SELECT column_name(s) FROM table_name1 LEFT JOIN table_name2 ON column_name1=column_name2;
예를 들어,
이 예에는 테이블이 있습니다. 종업원 다음 데이터로 :
두 번째 테이블의 이름은 합류.
다음 SQL 문을 입력하십시오.
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee LEFT OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
4 개의 레코드가 선택됩니다. 다음 결과가 표시됩니다.
오른쪽 조인 (오른쪽 외부 조인) : 이 조인은 RIGHT 테이블의 모든 행과 LEFT 테이블의 일치하는 행을 반환합니다. .
통사론:
SELECT column_name(s) FROM table_name1 RIGHT JOIN table_name2 ON column_name1=column_name2;
예를 들어,
이 예에는 테이블이 있습니다. 종업원 다음 데이터로 :
두 번째 테이블의 이름은 합류.
다음 SQL 문을 입력하십시오.
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee RIGHT JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
산출:
Emp_id | Joining_Date |
---|---|
E0012 | 2016/04/18 |
E0013 | 2016/04/19 |
E0014 | 2016/05/01 |
FULL JOIN (전체 외부 JOIN) : 이 조인은 RIGHT 테이블 또는 LEFT 테이블에 일치하는 항목이있을 때 모든 결과를 반환합니다. .
통사론:
SELECT column_name(s) FROM table_name1 FULL OUTER JOIN table_name2 ON column_name1=column_name2;
예를 들어,
이 예에는 테이블이 있습니다. 종업원 다음 데이터로 :
두 번째 테이블의 이름은 합류.
다음 SQL 문을 입력하십시오.
SELECT Employee.Emp_id, Joining.Joining_Date FROM Employee FULL OUTER JOIN Joining ON Employee.Emp_id = Joining.Emp_id ORDER BY Employee.Emp_id;
8 개의 레코드가 선택됩니다. 이것은 당신이 봐야 할 결과입니다.
에 lso 읽기 => MySQL 조인 자습서
Q # 8) 거래와 그 통제는 무엇입니까?
대답: 트랜잭션은 특정 결과를 얻기 위해 논리적 방식으로 데이터베이스에서 수행되는 시퀀스 작업으로 정의 할 수 있습니다. 데이터베이스에서 수행되는 레코드 생성, 업데이트, 삭제와 같은 작업은 트랜잭션에서 발생합니다.
간단히 말해서 트랜잭션은 데이터베이스 레코드에서 실행되는 SQL 쿼리 그룹을 의미한다고 말할 수 있습니다.
다음과 같은 4 가지 트랜잭션 제어가 있습니다.
- 범하다 : 트랜잭션을 통해 이루어진 모든 변경 사항을 저장하는 데 사용됩니다.
- 롤백 : 트랜잭션을 롤백하는 데 사용됩니다. 트랜잭션에 의해 만들어진 모든 변경 사항은 되돌려지고 데이터베이스는 이전과 동일하게 유지됩니다.
- 거래 설정 : 거래 명을 설정합니다.
- SAVEPOINT : 트랜잭션이 롤백 될 지점을 설정하는 데 사용됩니다.
Q # 9) 거래의 속성은 무엇입니까?
대답: 트랜잭션 속성은 ACID 속성으로 알려져 있습니다. 이것들은:
- 원 자성 : 수행 된 모든 트랜잭션의 완전성을 보장합니다. 모든 트랜잭션이 성공적으로 완료되었는지 확인합니다. 그렇지 않은 경우 트랜잭션은 실패 지점에서 중단되고 변경 사항이 실행 취소되면 이전 트랜잭션이 초기 상태로 롤백됩니다.
- 일관성 : 성공적인 트랜잭션을 통해 이루어진 모든 변경 사항이 데이터베이스에 제대로 반영되도록합니다.
- 격리 : 모든 트랜잭션이 독립적으로 수행되고 하나의 트랜잭션에서 변경된 사항이 다른 트랜잭션에 반영되지 않도록합니다.
- 내구성 : 커밋 된 트랜잭션이있는 데이터베이스의 변경 사항이 시스템 장애 후에도 그대로 유지되도록합니다.
Q # 10) SQL에서 사용할 수있는 집계 함수는 몇 개입니까?
대답: SQL 집계 함수는 테이블의 여러 열에서 값을 결정 및 계산하고 단일 값을 반환합니다.
SQL에는 7 개의 집계 함수가 있습니다.
- AVG () : 지정된 열에서 평균 값을 반환합니다.
- 카운트(): 테이블 행 수를 반환합니다.
- MAX () : 레코드 중 가장 큰 값을 반환합니다.
- 최소 () : 레코드 중 가장 작은 값을 반환합니다.
- 합집합(): 지정된 열 값의 합계를 반환합니다.
- 먼저(): 첫 번째 값을 반환합니다.
- 마지막(): 마지막 값을 반환합니다.
Q # 11) SQL에서 스칼라 함수는 무엇입니까?
대답: 스칼라 함수는 입력 값을 기반으로 단일 값을 반환하는 데 사용됩니다.
스칼라 함수는 다음과 같습니다.
- UCASE () : 지정된 필드를 대문자로 변환합니다.
- LCASE () : 지정된 필드를 소문자로 변환합니다.
- MID () : 텍스트 필드에서 문자를 추출하고 반환합니다.
- 체재(): 표시 형식을 지정합니다.
- LEN () : 텍스트 필드의 길이를 지정합니다.
- 일주(): 소수 필드 값을 숫자로 반올림합니다.
Q # 12) 트리거 란? ?
대답: SQL의 트리거는 INSERT, UPDATE 또는 DELETE와 같은 테이블에서 수행되는 특정 작업에 대한 응답을 만드는 데 사용되는 일종의 저장 프로 시저입니다. 데이터베이스의 테이블에서 명시 적으로 트리거를 호출 할 수 있습니다.
동작과 이벤트는 SQL 트리거의 두 가지 주요 구성 요소입니다. 특정 작업이 수행되면 해당 작업에 대한 응답으로 이벤트가 발생합니다.
통사론:
CREATE TRIGGER name BEFORE (event (OR..)} ON table_name (FOR (EACH) ROW) EXECUTE PROCEDURE functionname {arguments}
Q # 13) SQL에서보기 란 무엇입니까?
대답: 뷰는 하나 이상의 테이블의 필드가있는 행과 열을 포함하는 가상 테이블로 정의 할 수 있습니다.
에스 구문 :
CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Q # 14) 뷰를 어떻게 업데이트 할 수 있습니까?
대답: SQL CREATE 및 REPLACE를 사용하여 뷰를 업데이트 할 수 있습니다.
아래 쿼리를 실행하여 생성 된 뷰를 업데이트합니다.
통사론:
CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
Q # 15) SQL 권한의 작동을 설명 하시나요?
대답: SQL GRANT 및 REVOKE 명령은 SQL 다중 사용자 환경에서 권한을 구현하는 데 사용됩니다. 데이터베이스 관리자는 SELECT, INSERT, UPDATE, DELETE, ALL 등과 같은 명령을 사용하여 데이터베이스 개체 사용자에게 권한을 부여하거나 취소 할 수 있습니다.
GRANT 명령 :이 명령은 관리자가 아닌 사용자에게 데이터베이스 액세스를 제공하는 데 사용됩니다.
통사론:
GRANT privilege_name ON object_name TO PUBLIC (WITH GRANT OPTION);
위 구문에서 GRANT 옵션은 사용자가 다른 사용자에게도 액세스 권한을 부여 할 수 있음을 나타냅니다.
REVOKE 명령 :이 명령은 데이터베이스 개체에 대한 액세스를 거부하거나 제거하는 데 사용됩니다.
통사론:
REVOKE privilege_name ON object_name FROM PUBLIC;
Q # 16) SQL에서 사용할 수있는 권한은 몇 가지입니까?
대답: SQL에서 사용되는 권한에는 다음과 같은 두 가지 유형이 있습니다.
- 시스템 권한 : 시스템 권한은 특정 유형의 개체를 처리하고 사용자에게 하나 이상의 작업을 수행 할 수있는 권한을 제공합니다. 이러한 작업에는 관리 작업 수행, ALTER ANY INDEX, ALTER ANY CACHE GROUP CREATE / ALTER / DELETE TABLE, CREATE / ALTER / DELETE VIEW 등이 포함됩니다.
- 개체 권한 : 이를 통해 다른 사용자 비주얼리 제이션의 개체 또는 개체에 대한 작업을 수행 할 수 있습니다. 테이블, 뷰, 인덱스 등 일부 개체 권한은 EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES 등입니다.
Q # 17) SQL 인젝션이란?
대답: SQL 인젝션은 악성 SQL 문을 데이터베이스의 입력 필드에 삽입하여 일단 실행되면 데이터베이스가 공격자에게 노출되는 방식으로 공격에 노출되는 데이터베이스 공격 기법입니다. 이 기술은 일반적으로 데이터 기반 애플리케이션을 공격하여 민감한 데이터에 액세스하고 데이터베이스에서 관리 작업을 수행하는 데 사용됩니다.
예를 들어,
SELECT column_name(s) FROM table_name WHERE condition;
Q # 18) SQL Server의 SQL Sandbox는 무엇입니까?
대답: SQL Sandbox는 신뢰할 수없는 스크립트가 실행되는 SQL 서버 환경에서 안전한 장소입니다. SQL 샌드 박스에는 3 가지 유형이 있습니다.
- 안전한 액세스 샌드 박스 : 여기에서 사용자는 저장 프로 시저, 트리거 등의 생성과 같은 SQL 작업을 수행 할 수 있지만 메모리에 액세스 할 수없고 파일을 생성 할 수 없습니다.
- 외부 액세스 샌드 박스 : 사용자는 메모리 할당을 조작 할 권한없이 파일에 액세스 할 수 있습니다.
- 안전하지 않은 액세스 샌드 박스 : 여기에는 사용자가 메모리에 액세스 할 수있는 신뢰할 수없는 코드가 포함됩니다.
Q # 19) SQL과 PL / SQL의 차이점은 무엇입니까?
대답: SQL은 데이터베이스를 생성하고 액세스하기위한 구조적 쿼리 언어 인 반면 PL / SQL은 프로그래밍 언어의 절차 적 개념과 함께 제공됩니다.
Q # 20) SQL과 MySQL의 차이점은 무엇입니까?
대답: SQL은 관계형 데이터베이스를 조작하고 액세스하는 데 사용되는 구조적 쿼리 언어입니다. 반면에 MySQL 자체는 SQL을 표준 데이터베이스 언어로 사용하는 관계형 데이터베이스입니다.
Q # 21) NVL 기능의 용도는 무엇인가요?
대답: NVL 함수는 null 값을 실제 값으로 변환하는 데 사용됩니다.
Q # 22) 테이블의 데카르트 곱은 무엇입니까?
대답: 교차 조인의 출력을 데카르트 곱이라고합니다. 첫 번째 테이블의 각 행과 두 번째 테이블의 각 행을 결합한 행을 반환합니다. 예를 들어, 열이 15 개와 20 개인 두 테이블을 결합하면 두 테이블의 데카르트 곱은 15 × 20 = 300 행이됩니다.
Q # 23) Subquery는 무엇을 의미합니까?
대답: 다른 쿼리 내의 쿼리를 하위 쿼리라고합니다. 하위 쿼리는 다른 쿼리에서 사용할 출력을 반환하는 내부 쿼리라고합니다.
Q # 24) 서브 쿼리로 작업하는 동안 몇 개의 행 비교 연산자가 사용됩니까?
대답: IN, ANY 및 ALL과 같은 하위 쿼리에 사용되는 3 행 비교 연산자가 있습니다.
Q # 25) 클러스터형 인덱스와 비 클러스터형 인덱스의 차이점은 무엇입니까?
답변 : 둘의 차이점은 다음과 같습니다.
- 하나의 테이블에는 클러스터형 인덱스는 하나만있을 수 있지만 클러스터되지 않은 인덱스는 여러 개일 수 있습니다.
- 클러스터형 인덱스는 비 클러스터형 인덱스보다 빠르게 읽을 수 있습니다.
- 클러스터형 인덱스는 데이터를 테이블 또는 뷰에 물리적으로 저장하는 반면 비 클러스터형 인덱스는 데이터 행과 별도의 구조를 가지고 있으므로 테이블에 데이터를 저장하지 않습니다.
Q # 26) DELETE와 TRUNCATE의 차이점은 무엇입니까?
답변 : 차이점은 다음과 같습니다.
- 둘 다의 기본적인 차이점은 DELETE 명령은 DML 명령이고 TRUNCATE 명령은 DDL입니다.
- DELETE 명령은 테이블에서 특정 행을 삭제하는 데 사용되는 반면 TRUNCATE 명령은 테이블에서 모든 행을 제거하는 데 사용됩니다.
- DELETE 명령은 WHERE 절과 함께 사용할 수 있지만 TRUNCATE 명령은 함께 사용할 수 없습니다.
Q # 27) DROP과 TRUNCATE의 차이점은 무엇입니까?
대답: TRUNCATE는 다시 검색 할 수없는 테이블의 모든 행을 제거하고 DROP은 데이터베이스에서 전체 테이블을 제거하며 다시 검색 할 수 없습니다.
Q # 28) 학생 테이블에서 학생의 세부 정보를 표시하는 쿼리를 작성하는 방법
이름이 K로 시작합니까?
답변 : 질의 :
SELECT * FROM Student WHERE Student_Name like ‘K%’;
여기서 'like'연산자는 패턴 일치를 수행하는 데 사용됩니다.
Q # 29) Nested Subquery와 Correlated Subquery의 차이점은 무엇입니까?
대답: 다른 하위 쿼리 내의 하위 쿼리를 Nested Subquery라고합니다. 하위 쿼리의 출력이 상위 쿼리 테이블의 열 값에 따라 달라지는 경우 쿼리를 Correlated Subquery라고합니다.
SELECT adminid(SELEC Firstname+' '+Lastname FROM Employee WHERE empid=emp. adminid)AS EmpAdminId FROM Employee;
쿼리 결과는 Employee 테이블의 직원 세부 정보입니다.
Q # 30) 정규화 란 무엇입니까? 정규화 형식은 몇 개입니까?
대답: 정규화는 데이터베이스에서 데이터 중복이 발생하지 않고 이상 항목 삽입, 업데이트 및 삭제를 방지하는 방식으로 데이터를 구성하는 데 사용됩니다.
정규화에는 5 가지 형태가 있습니다.
- 첫 번째 정규형 (1NF) : 테이블에서 모든 중복 열을 제거합니다. 관련 데이터에 대한 테이블을 만들고 고유 한 열 값을 식별합니다.
- 첫 번째 정규형 (2NF) : 1NF를 따르고 데이터 하위 집합을 생성하고 개별 테이블에 배치하고 기본 키를 사용하여 테이블 간의 관계를 정의합니다.
- 세 번째 정규형 (3NF) : 2NF를 따르고 기본 키를 통해 관련되지 않은 열을 제거합니다.
- 네 번째 정규형 (4NF) : 3NF를 따르고 다중 값 종속성을 정의하지 않습니다. 4NF는 BCNF라고도합니다.
Q # 31) 관계 란 무엇입니까? 얼마나 많은 유형의 관계가 있습니까?
대답: 관계는 데이터베이스에있는 둘 이상의 테이블 간의 연결로 정의 할 수 있습니다.
다음과 같은 4 가지 유형의 관계가 있습니다.
- 일대일 관계
- 다 대일 관계
- 다 대다 관계
- 일대 다 관계
Q # 32) 저장 프로 시저 란 무엇을 의미합니까? 어떻게 사용합니까?
대답: 저장 프로시 저는 데이터베이스에 액세스하는 함수로 사용할 수있는 SQL 문 모음입니다. 이러한 저장 프로 시저를 사용하기 전에 미리 만들 수 있으며 조건부 논리를 적용하여 필요할 때마다 실행할 수 있습니다. 저장 프로시 저는 네트워크 트래픽을 줄이고 성능을 향상시키는데도 사용됩니다.
통사론:
CREATE Procedure Procedure_Name ( //Parameters ) AS BEGIN SQL statements in stored procedures to update/retrieve records END
Q # 33) 관계형 데이터베이스의 몇 가지 속성을 설명합니까?
답변 : 속성은 다음과 같습니다.
- 관계형 데이터베이스에서 각 열은 고유 한 이름을 가져야합니다.
- 관계형 데이터베이스에서 행과 열의 순서는 중요하지 않습니다.
- 모든 값은 원자 적이며 각 행은 고유합니다.
Q # 34) 중첩 트리거 란 무엇입니까?
대답: 트리거는 INSERT, UPDATE 및 DELETE 문을 사용하여 데이터 수정 논리를 구현할 수 있습니다. 데이터 수정 논리를 포함하고 데이터 수정을위한 다른 트리거를 찾는 이러한 트리거를 중첩 트리거라고합니다.
Q # 35) 커서 란?
대답: 커서는 행 간 방식으로 데이터를 조작하는 데 사용되는 데이터베이스 객체입니다.
커서는 아래와 같이 단계를 따릅니다.
- 커서 선언
- 커서 열기
- 커서에서 행 검색
- 행 처리
- 커서 닫기
- 커서 할당 해제
Q # 36) 콜 레이션이란 무엇입니까?
대답: 데이터 정렬은 데이터를 비교하여 정렬하는 방법을 확인하는 규칙 집합입니다. 문자 데이터와 같은 문자 데이터는 대소 문자 구분, 유형 및 악센트와 함께 올바른 문자 시퀀스를 사용하여 저장됩니다.
Q # 37) 데이터베이스 테스트에서 확인하려면 무엇이 필요합니까?
대답: 데이터베이스 테스트에서는 다음 사항을 테스트해야합니다.
- 데이터베이스 연결
- 구속 검사
- 필수 응용 분야 및 크기
- DML 작업을 통한 데이터 검색 및 처리
- 저장 프로 시저
- 기능적 흐름
Q # 38) 데이터베이스 화이트 박스 테스트 란 무엇입니까?
대답: 데이터베이스 화이트 박스 테스트에는 다음이 포함됩니다.
- 데이터베이스 일관성 및 ACID 속성
- 데이터베이스 트리거 및 논리적 뷰
- 결정 범위, 조건 범위 및 진술 범위
- 데이터베이스 테이블, 데이터 모델 및 데이터베이스 스키마
- 참조 무결성 규칙
Q # 39) 데이터베이스 블랙 박스 테스팅이란?
대답: 데이터베이스 블랙 박스 테스트에는 다음이 포함됩니다.
- 데이터 매핑
- 저장 및 검색된 데이터
- 등가 분할 및 경계 값 분석 (BVA)과 같은 블랙 박스 테스트 기술 사용
Q # 40) SQL에서 인덱스 란 무엇입니까?
대답: 인덱스는 데이터를 더 빨리 검색하는 방법으로 정의 할 수 있습니다. CREATE 문을 사용하여 인덱스를 정의 할 수 있습니다.
통사론:
CREATE INDEX index_name ON table_name (column_name)
또한 다음 구문을 사용하여 고유 색인을 만들 수도 있습니다.
CREATE UNIQUE INDEX index_name ON table_name (column_name)
최신 정보: 연습을 위해 몇 가지 짧은 질문을 추가했습니다.
Q # 41) SQL은 무엇을 의미합니까?
대답: SQL은 구조적 쿼리 언어 .
Q # 42) 테이블에서 모든 레코드를 선택하는 방법은 무엇입니까?
대답: 테이블에서 모든 레코드를 선택하려면 다음 구문을 사용해야합니다.
Select * from table_name;
Q # 43) 조인을 정의하고 다른 유형의 조인을 명명합니까?
대답: Join 키워드는 두 개 이상의 관련 테이블에서 데이터를 가져 오는 데 사용됩니다. 조인에 포함 된 두 테이블 모두에 일치하는 항목이 하나 이상있는 행을 반환합니다. 여기에서 더 많은 것을 읽으십시오 .
조인 유형은 다음과 같습니다.
해시 테이블 C ++ 예제
- 오른쪽 조인
- 외부 결합
- 완전 조인
- 교차 결합
- 자기 조인.
Q # 44) 테이블에 레코드를 추가하는 구문은 무엇입니까?
대답: 테이블에 레코드를 추가하려면 INSERT 구문이 사용됩니다.
예를 들어,
INSERT into table_name VALUES (value1, value2..);
Q # 45) 테이블에 컬럼을 어떻게 추가하나요?
대답: 테이블에 다른 열을 추가하려면 다음 명령을 사용하십시오.
ALTER TABLE table_name ADD (column_name);
추천 읽기 = >> 방법 테이블에 열 추가 MySQL에서
Q # 46) SQL DELETE 문을 정의합니다.
대답: DELETE는 지정된 조건에 따라 테이블에서 행을 삭제하는 데 사용됩니다.
기본 구문은 다음과 같습니다.
DELETE FROM table_name WHERE
Q # 47) COMMIT를 정의 하시겠습니까?
대답: COMMIT는 DML 문에 의해 변경된 모든 내용을 저장합니다.
Q # 48) 기본 키는 무엇입니까?
대답: 기본 키는 값이 테이블의 모든 행을 고유하게 식별하는 열입니다. 기본 키 값은 다시 사용할 수 없습니다.
Q # 49) 외래 키 란?
대답: 두 테이블을 연결하는 공통 필드를 만들기 위해 테이블의 기본 키 필드를 관련 테이블에 추가하면 다른 테이블에서 외래 키라고합니다. 외래 키 제약 조건은 참조 무결성을 적용합니다.
Q # 50) CHECK Constraint 란 무엇입니까?
대답: CHECK 제약 조건은 열에 저장할 수있는 데이터의 값이나 유형을 제한하는 데 사용됩니다. 도메인 무결성을 적용하는 데 사용됩니다.
Q # 51) 테이블이 하나 이상의 외래 키를 가질 수 있습니까?
대답: 예, 테이블에는 많은 외래 키가있을 수 있지만 기본 키는 하나만 있습니다.
Q # 52) BOOLEAN 데이터 필드에 가능한 값은 무엇입니까?
대답: BOOLEAN 데이터 필드의 경우 -1 (true) 및 0 (false)의 두 가지 값이 가능합니다.
Q # 53) 저장 프로 시저 란 무엇입니까?
대답: 저장 프로시 저는 입력을 받아 출력을 다시 보낼 수있는 SQL 쿼리 집합입니다.
Q # 54) SQL에서 ID는 무엇입니까?
대답: SQL이 숫자 값을 자동으로 생성하는 ID 열입니다. 식별 열의 시작 및 증가 값을 정의 할 수 있습니다.
Q # 55) 정규화 란 무엇입니까?
대답: 데이터 중복을 최소화하기위한 테이블 디자인 프로세스를 정규화라고합니다. 데이터베이스를 두 개 이상의 테이블로 나누고 이들 간의 관계를 정의해야합니다.
Q # 56) 트리거 란 무엇입니까?
대답: 트리거를 사용하면 테이블 이벤트가 발생할 때 SQL 코드 배치를 실행할 수 있습니다 (특정 테이블에 대해 INSERT, UPDATE 또는 DELETE 명령이 실행 됨).
Q # 57) 테이블에서 임의의 행을 선택하는 방법은 무엇입니까?
대답: SAMPLE 절을 사용하여 임의의 행을 선택할 수 있습니다.
예를 들어,
SELECT * FROM table_name SAMPLE(10);
Q # 58) SQL Server는 어떤 TCP / IP 포트를 실행합니까?
대답: 기본적으로 SQL Server는 포트 1433에서 실행됩니다.
Q # 59) 테이블에서 각 이름을 한 번만 반환하는 SQL SELECT 쿼리를 작성합니까?
대답: 각 이름으로 한 번만 결과를 얻으려면 DISTINCT 키워드를 사용해야합니다.
SELECT DISTINCT name FROM table_name;
Q # 60) DML과 DDL을 설명 하시나요?
대답: DML은 데이터 조작 언어를 나타냅니다. INSERT, UPDATE 및 DELETE는 DML 문입니다.
DDL은 데이터 정의 언어를 의미합니다. CREATE, ALTER, DROP, RENAME은 DDL 문입니다.
Q # 61) SQL 쿼리 출력에서 열 이름을 바꿀 수 있습니까?
대답: 예, 다음 구문을 사용하여이를 수행 할 수 있습니다.
SELECT column_name AS new_name FROM table_name;
Q # 62) SQL SELECT의 순서를 알려주시겠습니까?
대답: SQL SELECT 절의 순서는 SELECT, FROM, WHERE, GROUP BY, HAVING, ORDER BY입니다. SELECT 및 FROM 절만 필수입니다.
Q # 63) Student 열에 Name과 Marks라는 두 개의 열이 있다고 가정합니다. 상위 3 명의 학생의 이름과 점수를 얻는 방법.
대답: SELECT Name, Marks FROM Student s1 where 3<= (SELECT COUNT(*) FROM Students s2 WHERE s1.marks = s2.marks)
Q # 64) SQL 주석이란 무엇입니까?
대답: 두 개의 연속 하이픈 (-)을 추가하여 SQL 주석을 삽입 할 수 있습니다.
Q # 65) TRUNCATE, DELETE 및 DROP 명령의 차이점은 무엇입니까?
대답:
- 지우다 조건에 따라 테이블에서 일부 또는 모든 행을 제거합니다. 롤백 할 수 있습니다.
- 자르기 메모리 페이지를 할당 해제하여 테이블에서 모든 행을 제거합니다. 작업을 롤백 할 수 없습니다.
- 하락 명령은 데이터베이스에서 테이블을 완전히 제거합니다.
Q # 66) 거래의 속성은 무엇입니까?
대답: 일반적으로 이러한 속성을 ACID 속성이라고합니다. 그들은:
- 원 자성
- 일관성
- 격리
- 내구성.
Q # 67) ROWID 란 무엇을 의미합니까?
대답: 테이블의 각 행에 첨부 된 18 자 길이의 유사 열입니다.
Q # 68) UNION, MINUS, UNION ALL, INTERSECT를 정의 하시겠습니까?
대답:
- 마이너스 – 두 번째 쿼리가 아닌 첫 번째 쿼리에서 선택한 모든 고유 행을 반환합니다.
- 노동 조합 – 두 쿼리 중 하나에서 선택한 모든 고유 행을 반환
- UNION ALL – 모든 중복을 포함하여 두 쿼리에서 선택한 모든 행을 반환합니다.
- 교차 – 두 쿼리에서 선택한 모든 고유 행을 반환합니다.
Q # 69) 거래 란 무엇인가요?
대답: 트랜잭션은 데이터베이스에 대해 실행되는 일련의 코드입니다. 하나의 일관된 상태에서 다른 상태로 데이터베이스를 가져옵니다.
Q # 70) UNIQUE 제약 조건과 PRIMARY KEY 제약 조건의 차이점은 무엇입니까?
답변 : 차이점은 다음과 같습니다.
- 테이블에는 PRIMARY KEY가 하나만있을 수 있지만 UNIQUE 키는 얼마든지있을 수 있습니다.
- 기본 키에는 Null 값이 포함될 수 없지만 고유 키에는 Null 값이 포함될 수 있습니다.
Q # 71) 복합 기본 키란 무엇입니까?
대답: 둘 이상의 열에 생성 된 기본 키를 복합 기본 키라고합니다.
Q # 72) 인덱스 란?
대답: 인덱스는 쿼리 성능을 높이기 위해 테이블과 관련된 특수 구조입니다. 인덱스는 테이블의 하나 이상의 열에 생성 될 수 있습니다.
Q # 73) 서브 쿼리가 무엇인가요?
대답: 하위 쿼리는 반환 값이 기본 쿼리의 조건을 필터링하는 데 사용되는 select 문의 하위 집합입니다.
Q # 74) 쿼리 최적화 란 무엇을 의미합니까?
대답: 쿼리 최적화는 데이터베이스 시스템이 서로 다른 쿼리 전략을 비교하고 가장 적은 비용으로 쿼리를 선택하는 프로세스입니다.
Q # 75) 콜 레이션이란 무엇입니까?
대답: 데이터 저장 방법, 대소 문자 구분 및 가나 문자 처리 방법 등을 정의하는 규칙 세트입니다.
Q # 76) 참조 무결성이란 무엇입니까?
대답: 참조 된 테이블의 기본 키 또는 고유 키의 값을 기반으로 테이블의 하나 이상의 열 값을 제한하는 규칙 집합입니다.
Q # 77) 케이스 기능은 무엇인가요?
대답: Case는 SQL에서 if-then-else 유형의 논리를 용이하게합니다. 조건 목록을 평가하고 가능한 여러 결과 식 중 하나를 반환합니다.
Q # 78) 임시 테이블을 정의 하시겠습니까?
대답: 임시 테이블은 데이터를 임시로 저장하기위한 임시 저장 구조입니다.
Q # 79) 쿼리에서 레코드 중복을 방지하려면 어떻게해야합니까?
대답: DISTINCT 키워드를 사용하면 쿼리에서 레코드 중복을 피할 수 있습니다.
Q # 80) Rename과 Alias의 차이점을 설명해주세요.
대답: Rename은 테이블 또는 열에 지정된 영구 이름 인 반면 Alias는 테이블 또는 열에 지정된 임시 이름입니다.
Q # 81) 뷰란 무엇입니까?
대답: 뷰는 하나 이상의 테이블의 데이터를 포함하는 가상 테이블입니다. 뷰는 필요한 값만 선택하여 테이블의 데이터 액세스를 제한하고 복잡한 쿼리를 쉽게 만듭니다.
Q # 82) 뷰의 장점은 무엇인가요?
답변 : 뷰의 장점은 다음과 같습니다.
- 뷰는 테이블의 선택적 열을 표시 할 수 있으므로 데이터에 대한 액세스를 제한합니다.
- 보기는 복잡한 쿼리의 결과를 검색하는 간단한 쿼리를 만드는 데 사용할 수 있습니다. 예를 들어, 뷰는 사용자가 모르게 여러 테이블의 정보를 쿼리하는 데 사용할 수 있습니다.
Q # 83) 사용자가 다른 사용자에게 부여 할 수있는 다양한 권한은 무엇입니까?
대답: 선택, 연결, 자원.
Q # 84) 스키마 란 무엇입니까?
대답: 스키마는 사용자의 데이터베이스 개체 모음입니다.
Q # 85) 테이블이란?
대답: 테이블은 데이터베이스 관리 시스템에서 데이터 저장의 기본 단위입니다. 테이블 데이터는 행과 열에 저장됩니다.
Q # 86) 뷰에 데이터가 포함되어 있습니까?
대답: 아니요, 뷰는 가상 구조입니다.
Q # 87) 뷰가 다른 뷰를 기반으로 할 수 있습니까?
대답: 예,보기는 다른보기를 기반으로합니다.
Q # 88) HAVING 절과 WHERE 절의 차이점은 무엇입니까?
대답: 둘 다 검색 조건을 지정하지만 having 절은 SELECT 문에서만 사용되며 일반적으로 GROUP BY 절과 함께 사용됩니다.
GROUP BY 절을 사용하지 않으면 WHERE 절처럼 동작합니다.
Q # 89) 로컬 임시 테이블과 글로벌 임시 테이블의 차이점은 무엇입니까?
대답: 복합 명령문 내부에 정의 된 경우 로컬 임시 테이블은 해당 명령문의 기간 동안 만 존재하지만 글로벌 임시 테이블은 DB에 영구적으로 존재하지만 연결이 닫히면 해당 행이 사라집니다.
Q # 90) CTE 란 무엇입니까?
대답: CTE 또는 공통 테이블 식은 SQL 문에 정의 된 임시 결과 집합을 포함하는 식입니다.
결론
SQL은 데이터베이스 시스템의 필수 구성 요소입니다. SQL 개념과 함께 데이터베이스에 대한 지식이 있으면 관련 프로필에 대한 인터뷰를 진행하는 데 확실히 도움이 될 것입니다.
몇 가지 주요 개념을 제외하고는 보이지 않고 인터뷰에서 귀하의 성과에 영향을 미치는 몇 가지 숨겨진 사실이 있습니다. 이 튜토리얼에서는 작게 보이지만 무시해서는 안되는 개념 중 일부를 기억하려고 노력했습니다.
이 기사에서 가장 자주 묻는 SQL 인터뷰 질문에 대한 답변을 찾을 수 있기를 바랍니다. SQL에 대한 지식은 모든 테스터에게 필수이며이 기사는 인터뷰 준비에 도움이 될 것입니다.
추가 읽기 => 데이터베이스 테스트에 관한 모든 것