• SQL이란 무엇입니까?
    SQL은 Structured Query Language의 약자로 데이터베이스와 통신하는 데 사용됩니다.
    SQL은 처음 1970년에 발명되었습니다. 데이터베이스에서 생성, 삭제, 행 가져오기 및 행 수정 등에 사용되는 데이터베이스 언어입니다.
  • 데이터베이스란 무엇입니까?
    데이터베이스는 데이터에 쉽게 접근하고, 저장하고, 검색하고, 관리할 수 있도록 조직화된 형태의 데이터에 불과합니다.
    이것은 여러 가지 방법으로 액세스할 수 있는 구조화된 데이터 형식이라고도 합니다.
    데이터베이스가 더 복잡한 곳에서는 종종 형식적 설계 및 모델링 기술을 사용하여 개발됩니다.
    예: 병원 관리 시스템 데이터베이스, 학교 관리 데이터베이스, 은행 관리 데이터베이스 등.
  • DBMS란?
    DBMS는 데이터베이스 관리 시스템을 의미합니다.
    DBMS는 데이터베이스의 생성, 검색, 업데이트 및 관리를 담당하는 시스템 소프트웨어입니다.
    이는 데이터베이스와 최종 사용자 또는 응용 프로그램 소프트웨어 간의 인터페이스 역할을 하여 데이터가 일관성 있고 구성되어 있으며 쉽게 액세스할 수 있도록 합니다.
  • 언제 SQL이 나타났습니까?
    SQL은 관계형 데이터베이스를 유지 관리하는 데 자주 사용되는 언어 중 하나입니다.
    1986년 SQL은 ANSI(American National Standards Institute)와 1987년 ISO(International Organization for Standardization)의 표준이 되었습니다.
  • SQL의 용도는 무엇입니까?
    SQL은 데이터베이스에 있는 관계형 데이터와 데이터 구조를 유지 관리하는 역할을 합니다.
    -, 데이터베이스에 대해 쿼리를 실행
    -, 데이터베이스에서 데이터를 검색
    -, 데이터베이스에 레코드를 삽입
    -, 데이터베이스의 레코드를 업데이트
    -, 데이터베이스에서 레코드를 삭제
    -, 새 데이터베이스를 생성
    -, 데이터베이스에 새 테이블을 생성
    -, ..
  • DBMS와 RDBMS의 차이점은 무엇입니까?
    DBMS는 데이터베이스를 구축하고 유지 관리하는 데 도움이 되는 소프트웨어 응용 프로그램입니다.
    RDBMS는 DBMS의 하위 집합으로 DBMS의 관계형 모델을 기반으로 하는 데이터베이스 관리 시스템입니다.
  • SQL과 Oracle을 비교하시겠습니까?
    SQL
    -, Oracle보다 확장 가능하고 안전합니다.
    -, 절차적 확장을 광범위하게 지원합니다.

    Oracle
    -, Oracle도 안전하고 확장 가능하지만 SQL만큼은 아닙니다.
    -, 이에 대한 지원은 제한적
  • SQL 제약 조건을 사용하는 이유는 무엇입니까? SQL에서 데이터베이스를 생성하는 동안 사용할 수 있는 제약 조건은 무엇입니까?
    제약 조건은 테이블의 모든 레코드에 대한 규칙을 설정하는 데 사용됩니다.
    제약 조건이 위반되면 원인이 된 작업을 중단할 수 있습니다.
    제약 조건은 CREATE TABLE 문으로 데이터베이스 자체를 생성하는 동안 또는 ALTER TABLE 문으로 테이블을 한 번 생성한 후에도 정의됩니다.

    SQL에는 다음과 같은 5가지 주요 제약 조건이 사용됩니다.
    -, NOT NULL : 열에 어떤 값이 있어야 하며 NULL로 둘 수 없음을 나타냅니다.
    -, UNIQUE : 이 제약 조건은 각 행과 열이 고유한 값을 가지며 다른 행이나 열에서 값이 반복되지 않도록 하는 데 사용됩니다.
    -, PRIMARY KEY : 이 제약 조건은 고유 ID로 특정 레코드를 식별하기 위해 하나 또는 둘 이상의 열 조합과 같은 NOT NULL 및 UNIQUE 제약 조건과 관련하여 사용됩니다.
    -, FOREIGN KEY : 테이블에 있는 데이터의 참조 무결성을 보장하기 위해 사용됩니다. PRIMARY KEY를 사용하여 한 테이블의 값을 다른 테이블과 일치시킵니다.
    -, CHECK : 컬럼의 값이 지정된 조건을 만족하는지 확인합니다.
  • 조인(join)이란 무엇입니까?.
    테이블 필드 간의 관계를 기반으로 더 많은 테이블의 데이터를 쿼리하는 데 사용되는 키워드입니다.
    JOIN을 사용할 때 키는 중요한 역할을 합니다.
  • 조인의 종류와 각각에 대한 설명은?
    데이터를 검색하는 데 사용할 수 있는 다양한 유형의 조인이 있으며 테이블 간의 관계에 따라 다릅니다.
    -, Inner Join : 내부 조인은 테이블 간에 일치하는 행이 하나 이상 있을 때 행을 반환합니다.
    -, Right Join : 오른쪽 조인은 테이블과 오른쪽 테이블의 모든 행 간에 공통적인 행을 반환합니다. 간단히 말해서, 왼쪽 테이블에 일치하는 항목이 없더라도 오른쪽 테이블의 모든 행을 반환합니다.
    -, Left Join : 왼쪽 조인은 테이블과 왼쪽 테이블의 모든 행 간에 공통적인 행을 반환합니다. 간단히 말해서, 오른쪽 테이블에 일치하는 항목이 없더라도 왼쪽 테이블의 모든 행을 반환합니다.
    -, Full Join : 테이블 중 하나에 일치하는 행이 있는 경우 완전 조인이 행을 반환합니다. 즉, 왼쪽 테이블의 모든 행과 오른쪽 테이블의 모든 행을 반환합니다.
  • SQL과 MySQL의 차이점은 무엇입니까?
    SQL은 구조화된 데이터베이스를 검색하고 조작하기 위한 표준 언어입니다.
    MySQL은 SQL 데이터베이스를 관리하는 데 사용되는 SQL Server, Oracle 또는 IBM DB2와 같은 관계형 데이터베이스 관리 시스템입니다.
  • 데이터 무결성이란 무엇입니까?
    데이터 무결성은 전체 수명 주기 동안 데이터의 정확성과 일관성을 보장하며 데이터를 저장, 처리 또는 검색하는 모든 시스템의 설계, 구현 및 사용에 중요한 측면입니다.
    또한 데이터가 애플리케이션이나 데이터베이스에 입력될 때 데이터에 비즈니스 규칙을 적용하기 위해 무결성 제약 조건을 정의합니다.
  • 쿼리란?
    쿼리는 데이터베이스 테이블 또는 테이블 조합에서 데이터 또는 정보에 대한 요청입니다.
    데이터베이스 쿼리는 선택 쿼리 또는 작업 쿼리일 수 있습니다.
    SELECT fname, lname FROM myDb.students WHERE student_id = 1;
    UPDATE myDB.students SET fname = 'Tom', lname = 'Gates' WHERE student_id = 1;
  • 서브쿼리란? 그 유형은 무엇입니까?
    하위 쿼리는 중첩 쿼리 또는 내부 쿼리라고도 하는 다른 쿼리 내의 쿼리입니다.
    메인 쿼리에서 쿼리할 데이터를 제한하거나 향상시켜 메인 쿼리의 출력을 각각 제한하거나 향상시키는 데 사용됩니다.
    예를 들어, 여기에서 수학 과목에 등록한 학생의 연락처 정보를 가져옵니다.
    SELECT name, email, mob, address FROM myDb.contacts WHERE roll_no IN ( SELECT roll_no FROM myDb.students WHERE subject = 'Maths');

    하위 쿼리에는 Correlated 및 Non-Correlated의 두 가지 유형이 있습니다.
    -, Correlated는 독립질의로 볼 수 없으나, 주질의의 FROM에 나열된 테이블의 컬럼을 참조할 수 있다.
    -, Non-Correlated 부질의는 독립질의로 간주할 수 있으며 부질의의 출력은 주질의로 대체된다.
  • SELECT 문이란 무엇입니까?
    SQL의 SELECT 연산자는 데이터베이스에서 데이터를 선택하는 데 사용됩니다. 반환된 데이터는 결과 집합이라고 하는 결과 테이블에 저장됩니다.
    SELECT * FROM myDB.students;
  • SQL에서 사용할 수 있는 연산자 유형은 무엇입니까?
    연산자는 특정 작업을 수행하기 위해 예약된 특수 키워드 또는 특수 문자이며 SQL 쿼리에 사용됩니다.
    SQL에는 세 가지 유형의 연산자가 사용됩니다.
    -, 산술 연산자: 더하기(+), 빼기(-), 곱하기(*), 나누기(/) 등
    -, 논리 연산자: ALL, AND, ANY, ISNULL, EXISTS, BETWEEN, IN, LIKE, NOT, OR, UNIQUE.
    -, 비교 연산자: =,! =, <>, <,>, <=,>=,!<,!>
  • SQL과 PL/SQL의 차이점은 무엇입니까?
    SQL 또는 Structured Query Language는 관계형 데이터베이스와 통신하는 데 사용되는 언어입니다.
    데이터베이스를 조작하고 생성하는 방법을 제공합니다.
    반면에 PL/SQL은 SQL의 기능을 향상시키는 데 사용되는 SQL의 방언입니다. 90년대 초 Oracle Corporation에서 개발했습니다. SQL에서 프로그래밍 언어의 절차적 기능을 추가합니다.
    SQL에서는 단일 쿼리가 한 번에 실행되는 반면 PL/SQL에서는 전체 코드 블록이 한 번에 실행됩니다.
    SQL은 표시해야 하는 데이터 소스와 같은 반면 PL/SQL은 SQL 데이터가 표시될 플랫폼을 제공합니다.
    SQL 문은 PL/SQL에 포함할 수 있지만 SQL은 프로그래밍 언어 및 키워드를 지원하지 않으므로 PL/SQL 문은 SQL에 포함할 수 없습니다.
  • 현재 날짜를 표시하는 SQL 쿼리는 무엇입니까?
    SQL에는 현재 타임스탬프를 반환하는 데 사용되는 GetDate()라는 내장 함수가 있습니다.
  • SQL에서 "TRIGGER"란 무엇입니까?
    트리거를 사용하면 특정 테이블에 대해 삽입, 업데이트 또는 삭제 명령이 실행될 때 SQL 코드의 배치를 실행할 수 있습니다.
    이러한 명령이 시스템에 주어질 때 트리거가 활성화된다고 합니다.
    트리거는 제자리에서 또는 데이터 수정 후에 자동으로 실행되도록 정의된 특정 유형의 저장 프로시저입니다.
    트리거는 CREATE TRIGGER 문을 사용하여 생성됩니다.
  • SQL의 집합(set) 연산자는 무엇입니까?
    집합 연산을 포함하는 SQL 쿼리를 복합 쿼리라고 합니다.
    Union, Union All, Intersect 또는 Minus 연산자는 SQL에서 사용되는 집합 연산자입니다.
  • SQL의 다른 대소문자 조작 함수는 무엇입니까?
    SQL에는 세 가지 대소문자 조작 함수가 있습니다.
    LOWER : 문자를 소문자로 변환합니다.
    UPPER : 문자를 대문자로 변환합니다.
    INITCAP : 각 단어의 이니셜에 대한 문자 값을 대문자로 변환합니다.
  • SQL의 다른 문자 조작 함수는 무엇입니까?
    CONCAT : 둘 이상의 값을 결합합니다.
    SUBSTR : 특정 길이의 문자열을 추출할 때 사용합니다.
    LENGTH : 문자열의 길이를 숫자 값으로 반환합니다.
    INSTR : 지정된 문자의 정확한 숫자 위치를 찾습니다.
    LPAD : 오른쪽 맞춤 값에 대한 왼쪽 문자 값의 패딩입니다.
    RPAD : 왼쪽 맞춤 값에 대한 오른쪽 문자 값의 패딩.
    TRIM : 시작, 끝 또는 시작과 끝 모두에서 정의된 모든 문자를 제거합니다.
    REPLACE : 특정 문자 시퀀스를 다른 문자 시퀀스로 바꿉니다.
  • 다른 모든 정규화는 무엇입니까?
    일반 형태는 몇 가지 형태로 나눌 수 있으며 아래에 설명되어 있습니다.
    제1정규형(1NF): 테이블에서 모든 중복 열을 제거해야 합니다. 관련 데이터에 대한 테이블 생성 및 고유 열 식별.
    제2정규형(2NF): 제1정규형의 모든 요구사항을 충족합니다. 데이터의 하위 집합을 별도의 테이블에 배치하고 기본 키를 사용하여 테이블 간의 관계 생성.
    제3정규형(3NF): 2NF의 모든 요구사항을 충족해야 합니다. 기본 키 제약 조건에 종속되지 않는 열을 제거합니다.
    제4정규형(4NF): 제3정규형의 모든 요구 사항을 충족하며 다중 값 종속성이 없어야 합니다.
  • 데이터웨어하우스란?
    Datawarehouse는 여러 정보 소스의 데이터를 보관하는 중앙 저장소입니다.
    이러한 데이터는 통합되고 변환되어 마이닝 및 온라인 처리에 사용할 수 있습니다.
    웨어하우스 데이터에는 데이터 마트라는 데이터 하위 집합이 있습니다.
  • SQL에서 사용할 수 있는 집계 함수는 몇 개입니까?
    SQL 집계 함수는 테이블의 여러 열에서 값을 결정 및 계산하고 단일 값을 반환합니다.

    SQL에는 7가지 집계 함수가 있습니다.
    AVG() : 지정된 열의 평균 값을 반환합니다.
    COUNT() : 테이블 행 수를 반환합니다.
    MAX() : 레코드 중 가장 큰 값을 반환합니다.
    MIN() : 레코드 중 가장 작은 값을 반환합니다.
    SUM() : 지정된 열 값의 합계를 반환합니다.
    FIRST() : 첫 번째 값을 반환합니다.
    LAST() : 마지막 값을 반환합니다.
  • SQL의 스칼라 함수는 무엇입니까?
    스칼라 함수는 입력 값을 기반으로 단일 값을 반환하는 데 사용됩니다.

    스칼라 함수는 다음과 같습니다.
    UCASE() : 지정된 필드를 대문자로 변환합니다.
    LCASE() : 지정된 필드를 소문자로 변환합니다.
    MID() : 텍스트 필드에서 문자를 추출하여 반환합니다.
    FORMAT() : 표시 형식을 지정합니다.
    LEN() : 텍스트 필드의 길이를 지정합니다.
    ROUND() : 소수 필드 값을 숫자로 반올림합니다.
  • SQL에서 보기(View)란 무엇입니까?
    보기(View)는 하나 이상의 테이블의 필드가 있는 행과 열을 포함하는 가상 테이블로 정의할 수 있습니다.
    CREATE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
  • 보기(View)를 어떻게 업데이트할 수 있습니까?
    SQL CREATE 및 REPLACE는 보기(View)를 업데이트하는 데 사용할 수 있습니다.
    아래 쿼리를 실행하여 생성된 보기(View)를 업데이트합니다.
    CREATE OR REPLACE VIEW view_name AS SELECT column_name(s) FROM table_name WHERE condition
  • SQL에서 사용할 수 있는 권한 유형은 몇 개입니까?
    SQL에는 다음과 같은 두 가지 유형의 권한이 사용됩니다.

    System privilege : 시스템 권한은 특정 유형의 개체를 처리하고 사용자에게 하나 이상의 작업을 수행할 수 있는 권한을 제공합니다. 이러한 작업에는 관리 작업 수행, ALTER ANY INDEX, ALTER ANY CACHE GROUP CREATE/ALTER/DELETE TABLE, CREATE/ALTER/DELETE VIEW 등이 포함됩니다.
    Object privilege : 다른 사용자의 개체 또는 개체에 대해 작업을 수행할 수 있습니다. 테이블, 뷰, 인덱스 등. 객체 권한 중 일부는 EXECUTE, INSERT, UPDATE, DELETE, SELECT, FLUSH, LOAD, INDEX, REFERENCES 등입니다.
  • SQL 인젝션이란?
    SQL 인젝션은 데이터베이스의 입력 필드에 악성 SQL 문장을 삽입해 실행하면 공격자에게 데이터베이스를 노출시키는 일종의 데이터베이스 공격 기법이다.
    이 기술은 일반적으로 데이터 기반 애플리케이션을 공격하여 민감한 데이터에 액세스하고 데이터베이스에 대한 관리 작업을 수행하는 데 사용됩니다.
    예를 들어,
    SELECT column_name(s) FROM table_name WHERE condition;