포스트

Basic

data language

Data Definition Language (DDL), Data Manipulation Language (DML), and Data Control Language (DCL) using example tables.

Data Definition Language (DDL)

DDL commands are used to define and modify the structure of database objects such as tables, indexes, and views.

  1. CREATE TABLE: Create a new table.
    1
    2
    3
    4
    5
    6
    
     CREATE TABLE 직원 (
         직원ID INT PRIMARY KEY,
         이름 VARCHAR(50),
         나이 INT,
         부서 VARCHAR(50)
     );
    
  2. ALTER TABLE: Modify an existing table (e.g., add a column).
    1
    2
    
     ALTER TABLE 직원
     ADD COLUMN 입사일 DATE;
    
  3. DROP TABLE: Delete an existing table.
    1
    
     DROP TABLE 직원;
    

Data Manipulation Language (DML)

DML commands are used to manipulate the data stored in the database objects.

  1. INSERT INTO: Insert new records into a table.
    1
    2
    
     INSERT INTO 직원 (직원ID, 이름, 나이, 부서, 입사일)
     VALUES (1, '홍길동', 30, '개발', '2023-01-15');
    
  2. SELECT: Retrieve data from a table.
    1
    
     SELECT * FROM 직원;
    
  3. UPDATE: Update existing records in a table.
    1
    2
    3
    
     UPDATE 직원
     SET 나이 = 31
     WHERE 직원ID = 1;
    
  4. DELETE: Delete records from a table.
    1
    2
    
     DELETE FROM 직원
     WHERE 직원ID = 1;
    

Data Control Language (DCL)

DCL commands are used to control access to data in the database.

  1. GRANT: Grant specific permissions to a user.
    1
    
     GRANT SELECT, INSERT ON 직원 TO 사용자명;
    
  2. REVOKE: Revoke specific permissions from a user.
    1
    
     REVOKE INSERT ON 직원 FROM 사용자명;
    

Example Tables

  1. 직원 (Employees) Table:

    직원ID (Employee ID)이름 (Name)나이 (Age)부서 (Department)입사일 (Join Date)
    1홍길동30개발2023-01-15
    2김영희28마케팅2022-03-10
    3박철수35영업2021-07-22
  2. Example DDL Commands:
    • Creating the 직원 table with additional column 입사일:
      1
      2
      3
      4
      5
      6
      7
      
        CREATE TABLE 직원 (
            직원ID INT PRIMARY KEY,
            이름 VARCHAR(50),
            나이 INT,
            부서 VARCHAR(50),
            입사일 DATE
        );
      
    • Adding a column to the 직원 table:
      1
      2
      
        ALTER TABLE 직원
        ADD COLUMN 입사일 DATE;
      
    • Dropping the 직원 table:
      1
      
        DROP TABLE 직원;
      
  3. Example DML Commands:
    • Inserting a new record into the 직원 table:
      1
      2
      
        INSERT INTO 직원 (직원ID, 이름, 나이, 부서, 입사일)
        VALUES (1, '홍길동', 30, '개발', '2023-01-15');
      
    • Selecting all records from the 직원 table:
      1
      
        SELECT * FROM 직원;
      
    • Updating a record in the 직원 table:
      1
      2
      3
      
        UPDATE 직원
        SET 나이 = 31
        WHERE 직원ID = 1;
      
    • Deleting a record from the 직원 table:
      1
      2
      
        DELETE FROM 직원
        WHERE 직원ID = 1;
      
  4. Example DCL Commands:
    • Granting permissions:
      1
      
        GRANT SELECT, INSERT ON 직원 TO 사용자명;
      
    • Revoking permissions:
      1
      
        REVOKE INSERT ON 직원 FROM 사용자명;
      

Here are some SQL examples where the absence of a WHERE clause results in updating all rows in a table:

  1. UPDATE without WHERE Clause:
    1
    2
    
     UPDATE 테이블명
     SET a = '1', b = '2';
    

    This query will set all values in the a column to ‘1’ and all values in the b column to ‘2’ for every row in the table 테이블명.

  2. UPDATE without WHERE Clause in an Employee Table:
    1
    2
    
     UPDATE 직원
     SET 급여 = 5000, 부서 = '영업';
    

    This query will set the 급여 (salary) column to 5000 and the 부서 (department) column to ‘영업’ (sales) for every row in the 직원 (employees) table.

  3. UPDATE without WHERE Clause in a Products Table:
    1
    2
    
     UPDATE 제품
     SET 가격 = 10000, 재고 = 50;
    

    This query will set the 가격 (price) column to 10000 and the 재고 (stock) column to 50 for every row in the 제품 (products) table.

  4. UPDATE without WHERE Clause in a Customer Table:
    1
    2
    
     UPDATE 고객
     SET 등급 = 'VIP', 포인트 = 100;
    

    This query will set the 등급 (grade) column to ‘VIP’ and the 포인트 (points) column to 100 for every row in the 고객 (customers) table.

  5. UPDATE without WHERE Clause in an Orders Table:
    1
    2
    
     UPDATE 주문
     SET 상태 = '배송 중', 배송비 = 0;
    

    This query will set the 상태 (status) column to ‘배송 중’ (in delivery) and the 배송비 (shipping cost) column to 0 for every row in the 주문 (orders) table.

practice

These cover various aspects of SQL including data selection, insertion, updating, deletion, and more.

  1. 데이터 선택:
    1
    
    SELECT * FROM 고객;
    
  2. 조건을 사용한 데이터 선택:
    1
    
    SELECT 이름, 나이 FROM 고객 WHERE 나이 > 30;
    
  3. 정렬된 데이터 선택:
    1
    
    SELECT 이름, 나이 FROM 고객 ORDER BY 나이 DESC;
    
  4. 데이터 삽입:
    1
    
    INSERT INTO 고객 (이름, 나이, 주소) VALUES ('홍길동', 28, '서울');
    
  5. 데이터 업데이트:
    1
    
    UPDATE 고객 SET 주소 = '부산' WHERE 이름 = '홍길동';
    
  6. 데이터 삭제:
    1
    
    DELETE FROM 고객 WHERE 나이 < 20;
    
  7. 집계 함수 사용:
    1
    
    SELECT COUNT(*) FROM 고객;
    
  8. 그룹화된 데이터 선택:
    1
    
    SELECT 나이, COUNT(*) FROM 고객 GROUP BY 나이;
    
  9. HAVING 절 사용:
    1
    
    SELECT 나이, COUNT(*) FROM 고객 GROUP BY 나이 HAVING COUNT(*) > 1;
    
  10. 조인 사용:
    1
    
    SELECT 고객.이름, 주문.날짜 FROM 고객 INNER JOIN 주문 ON 고객.고객ID = 주문.고객ID;
    
  11. 서브쿼리 사용:
    1
    
    SELECT 이름 FROM 고객 WHERE 나이 = (SELECT MAX(나이) FROM 고객);
    
  12. 인덱스 생성:
    1
    
    CREATE INDEX idx_고객_나이 ON 고객(나이);
    
  13. 제약 조건 추가:
    1
    
    ALTER TABLE 고객 ADD CONSTRAINT chk_나이 CHECK (나이 >= 18);
    
  14. 기본값 설정:
    1
    
    ALTER TABLE 고객 ALTER COLUMN 나이 SET DEFAULT 18;
    
  15. PRIMARY KEY 설정:
    1
    
    ALTER TABLE 고객 ADD PRIMARY KEY (고객ID);
    
  16. FOREIGN KEY 설정:
    1
    
    ALTER TABLE 주문 ADD CONSTRAINT fk_고객 FOREIGN KEY (고객ID) REFERENCES 고객(고객ID);
    
  17. UNIQUE 제약 조건 추가:
    1
    
    ALTER TABLE 고객 ADD CONSTRAINT uq_이메일 UNIQUE (이메일);
    
  18. 데이터베이스 생성:
    1
    
    CREATE DATABASE 회사;
    
  19. 테이블 생성:
    1
    2
    3
    4
    5
    
    CREATE TABLE 제품 (
        제품ID INT PRIMARY KEY,
        이름 VARCHAR(50),
        가격 DECIMAL(10, 2)
    );
    
  20. 트랜잭션 사용:
    1
    2
    3
    
    BEGIN TRANSACTION;
    INSERT INTO 고객 (이름, 나이, 주소) VALUES ('김철수', 35, '대전');
    COMMIT;
    
  21. VIEW 생성:
    1
    2
    
    CREATE VIEW 고객뷰 AS
    SELECT 이름, 나이, 주소 FROM 고객;
    
  22. VIEW를 사용하여 데이터 선택:
    1
    
    SELECT * FROM 고객뷰;
    
  23. DISTINCT 사용:
    1
    
    SELECT DISTINCT 나이 FROM 고객;
    
  24. CASE문 사용:
    1
    2
    3
    4
    5
    6
    7
    
    SELECT 이름, 나이,
    CASE
        WHEN 나이 < 20 THEN '젊음'
        WHEN 나이 BETWEEN 20 AND 40 THEN '성인'
        ELSE '노년'
    END AS 연령대
    FROM 고객;
    
  25. LIKE 연산자 사용:
    1
    
    SELECT * FROM 고객 WHERE 이름 LIKE '김%';
    
  26. IN 연산자 사용:
    1
    
    SELECT * FROM 고객 WHERE 나이 IN (25, 30, 35);
    
  27. BETWEEN 연산자 사용:
    1
    
    SELECT * FROM 고객 WHERE 나이 BETWEEN 20 AND 30;
    
  28. 데이터베이스 삭제:
    1
    
    DROP DATABASE 회사;
    
  29. 테이블 삭제:
    1
    
    DROP TABLE 제품;
    
  30. 인덱스 삭제:
    1
    
    DROP INDEX idx_고객_나이 ON 고객;
    
  31. ALTER TABLE을 사용하여 열 추가:
    1
    
    ALTER TABLE 고객 ADD COLUMN 이메일 VARCHAR(100);
    
  32. ALTER TABLE을 사용하여 열 삭제:
    1
    
    ALTER TABLE 고객 DROP COLUMN 이메일;
    
  33. 열 이름 변경:
    1
    
    ALTER TABLE 고객 RENAME COLUMN 나이 TO 연령;
    
  34. 테이블 이름 변경:
    1
    
    ALTER TABLE 고객 RENAME TO 고객정보;
    
  35. 데이터베이스 백업:
    1
    
    BACKUP DATABASE 회사 TO DISK = 'C:\backup\회사.bak';
    
  36. 데이터베이스 복원:
    1
    
    RESTORE DATABASE 회사 FROM DISK = 'C:\backup\회사.bak';
    
  37. 조건부 DELETE:
    1
    
    DELETE FROM 고객 WHERE 주소 = '부산';
    
  38. 조건부 UPDATE:
    1
    
    UPDATE 고객 SET 나이 = 나이 + 1 WHERE 주소 = '서울';
    
  39. 조인과 서브쿼리 결합:
    1
    2
    3
    4
    
    SELECT 고객.이름, 주문.날짜
    FROM 고객
    JOIN 주문 ON 고객.고객ID = 주문.고객ID
    WHERE 주문.날짜 = (SELECT MAX(날짜) FROM 주문 WHERE 고객ID = 고객.고객ID);
    
  40. 집계 함수와 GROUP BY:
    1
    2
    3
    
    SELECT 주소, AVG(나이) AS 평균나이
    FROM 고객
    GROUP BY 주소;
    
  41. HAVING 절 사용:
    1
    2
    3
    4
    
    SELECT 주소, COUNT(*) AS 고객수
    FROM 고객
    GROUP BY 주소
    HAVING COUNT(*) > 2;
    
  42. SELF JOIN 사용:
    1
    2
    3
    
    SELECT A.이름 AS 고객1, B.이름 AS 고객2
    FROM 고객 A, 고객 B
    WHERE A.주소 = B.주소 AND A.고객ID < B.고객ID;
    
  43. FULL OUTER JOIN 사용:
    1
    2
    3
    
    SELECT A.이름 AS 고객명, B.제품명
    FROM 고객 A
    FULL OUTER JOIN 주문 B ON A.고객ID = B.고객ID;
    
  44. LEFT JOIN 사용:
    1
    2
    3
    
    SELECT A.이름, B.날짜
    FROM 고객 A
    LEFT JOIN 주문 B ON A.고객ID = B.고객ID;
    
  45. RIGHT JOIN 사용:
    1
    2
    3
    
    SELECT A.이름, B.날짜
    FROM 고객 A
    RIGHT JOIN 주문 B ON A.고객ID = B.고객ID;
    
  46. UNION 사용:
    1
    2
    3
    
    SELECT 이름 FROM 고객
    UNION
    SELECT 이름 FROM 직원;
    
  47. UNION ALL 사용:
    1
    2
    3
    
    SELECT 이름 FROM 고객
    UNION ALL
    SELECT 이름 FROM 직원;
    
  48. INTERSECT 사용:
    1
    2
    3
    
    SELECT 이름 FROM 고객
    INTERSECT
    SELECT 이름 FROM 직원;
    
  49. EXCEPT 사용:
    1
    2
    3
    
    SELECT 이름 FROM 고객
    EXCEPT
    SELECT 이름 FROM 직원;
    
  50. COUNT 사용:
    1
    
    SELECT COUNT(*) FROM 고객;
    
  51. SUM 사용:
    1
    
    SELECT SUM(가격) FROM 주문;
    
  52. AVG 사용:
    1
    
    SELECT AVG(가격) FROM 주문;
    
  53. MIN 사용:
    1
    
    SELECT MIN(가격) FROM 주문;
    
  54. MAX 사용:
    1
    
    SELECT MAX(가격) FROM 주문;
    
  55. ROUND 사용:
    1
    
    SELECT ROUND(AVG(가격), 2) FROM 주문;
    
  56. GROUP BY와 HAVING 결합:
    1
    2
    3
    4
    
    SELECT 제품ID, SUM(수량) AS 총수량
    FROM 주문
    GROUP BY 제품ID
    HAVING SUM(수량) > 10;
    
  57. 서브쿼리를 사용한 UPDATE:
    1
    2
    3
    
    UPDATE 고객
    SET 포인트 = 포인트 + 10
    WHERE 고객ID IN (SELECT 고객ID FROM 주문 WHERE 날짜 = '2024-07-15');
    
  58. 서브쿼리를 사용한 DELETE:
    1
    2
    
    DELETE FROM 고객
    WHERE 고객ID IN (SELECT 고객ID FROM 주문 WHERE 날짜 < '2023-01-01');
    
  59. IN 절과 서브쿼리 결합:
    1
    2
    
    SELECT * FROM 고객
    WHERE 고객ID IN (SELECT 고객ID FROM 주문 WHERE 금액 > 100000);
    
  60. EXISTS 절 사용:
    1
    2
    
    SELECT * FROM 고객 A
    WHERE EXISTS (SELECT 1 FROM 주문 B WHERE A.고객ID = B.고객ID);
    

    60 SQL questions in Korean, with each matched to an SQL statement as its answer:

  61. Question: 직원 테이블을 생성하는 SQL 명령어는 무엇입니까?
    1
    2
    3
    4
    5
    6
    
    CREATE TABLE 직원 (
        직원ID INT PRIMARY KEY,
        이름 VARCHAR(50),
        나이 INT,
        부서 VARCHAR(50)
    );
    
  62. Question: 직원 테이블에 입사일이라는 열을 추가하는 SQL 명령어는 무엇입니까?
    1
    2
    
    ALTER TABLE 직원
    ADD COLUMN 입사일 DATE;
    
  63. Question: 직원 테이블을 삭제하는 SQL 명령어는 무엇입니까?
    1
    
    DROP TABLE 직원;
    
  64. Question: 직원 테이블에 새로운 레코드를 삽입하는 SQL 명령어는 무엇입니까?
    1
    2
    
    INSERT INTO 직원 (직원ID, 이름, 나이, 부서, 입사일)
    VALUES (1, '홍길동', 30, '개발', '2023-01-15');
    
  65. Question: 직원 테이블의 모든 데이터를 선택하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT * FROM 직원;
    
  66. Question: 직원ID가 1인 직원의 나이를 31로 업데이트하는 SQL 명령어는 무엇입니까?
    1
    2
    3
    
    UPDATE 직원
    SET 나이 = 31
    WHERE 직원ID = 1;
    
  67. Question: 직원ID가 1인 직원을 삭제하는 SQL 명령어는 무엇입니까?
    1
    2
    
    DELETE FROM 직원
    WHERE 직원ID = 1;
    
  68. Question: 사용자에게 직원 테이블에 대한 SELECT와 INSERT 권한을 부여하는 SQL 명령어는 무엇입니까?
    1
    
    GRANT SELECT, INSERT ON 직원 TO 사용자명;
    
  69. Question: 사용자로부터 직원 테이블에 대한 INSERT 권한을 회수하는 SQL 명령어는 무엇입니까?
    1
    
    REVOKE INSERT ON 직원 FROM 사용자명;
    
  70. Question: 직원 테이블에서 개발 부서의 모든 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 부서 = '개발';
    
  71. Question: 직원 테이블에서 나이가 30 이상인 직원들을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 나이 >= 30;
    
  72. Question: 직원 테이블에서 이름이 ‘홍길동’인 직원의 모든 정보를 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 이름 = '홍길동';
    
  73. Question: 직원 테이블에서 부서가 ‘개발’인 직원의 나이를 35로 업데이트하는 SQL 명령어는 무엇입니까?
    1
    2
    3
    
    UPDATE 직원
    SET 나이 = 35
    WHERE 부서 = '개발';
    
  74. Question: 직원 테이블에서 나이가 30 이하인 모든 직원을 삭제하는 SQL 명령어는 무엇입니까?
    1
    2
    
    DELETE FROM 직원
    WHERE 나이 <= 30;
    
  75. Question: 부서 열을 삭제하는 SQL 명령어는 무엇입니까?
    1
    2
    
    ALTER TABLE 직원
    DROP COLUMN 부서;
    
  76. Question: 직원 테이블의 나이 열의 데이터 타입을 SMALLINT로 변경하는 SQL 명령어는 무엇입니까?
    1
    2
    
    ALTER TABLE 직원
    MODIFY COLUMN 나이 SMALLINT;
    
  77. Question: 직원 테이블에서 부서 열의 값이 ‘마케팅’인 직원을 삭제하는 SQL 명령어는 무엇입니까?
    1
    2
    
    DELETE FROM 직원
    WHERE 부서 = '마케팅';
    
  78. Question: 직원 테이블에서 가장 나이가 많은 직원의 나이를 구하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT MAX(나이) FROM 직원;
    
  79. Question: 직원 테이블에서 모든 직원의 평균 나이를 구하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT AVG(나이) FROM 직원;
    
  80. Question: 직원 테이블에서 부서별 직원 수를 구하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 부서, COUNT(*) FROM 직원
    GROUP BY 부서;
    
  81. Question: 직원 테이블에서 이름을 오름차순으로 정렬하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    ORDER BY 이름 ASC;
    
  82. Question: 직원 테이블에서 나이를 내림차순으로 정렬하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    ORDER BY 나이 DESC;
    
  83. Question: 직원 테이블에서 부서가 ‘개발’이고 나이가 30 이상인 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 부서 = '개발' AND 나이 >= 30;
    
  84. Question: 직원 테이블에서 이름이 ‘홍길동’ 또는 부서가 ‘개발’인 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 이름 = '홍길동' OR 부서 = '개발';
    
  85. Question: 직원 테이블에서 중복된 부서 값을 제거하고 선택하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT DISTINCT 부서 FROM 직원;
    
  86. Question: 직원 테이블에서 나이가 25에서 35 사이인 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 나이 BETWEEN 25 AND 35;
    
  87. Question: 직원 테이블에서 이름이 ‘홍’으로 시작하는 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 이름 LIKE '홍%';
    
  88. Question: 직원 테이블에서 이름이 ‘길동’으로 끝나는 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 이름 LIKE '%길동';
    
  89. Question: 직원 테이블에서 부서가 NULL이 아닌 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 부서 IS NOT NULL;
    
  90. Question: 직원 테이블에서 입사일이 2023년 이후인 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 입사일 > '2023-01-01';
    
  91. Question: 직원 테이블에서 입사일이 2022년 이전인 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 입사일 < '2022-01-01';
    
  92. Question: 직원 테이블에서 부서가 ‘개발’인 직원의 수를 구하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT COUNT(*) FROM 직원
    WHERE 부서 = '개발';
    
  93. Question: 직원 테이블에서 나이의 합계를 구하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT SUM(나이) FROM 직원;
    
  94. Question: 직원 테이블에서 나이의 최소값을 구하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT MIN(나이) FROM 직원;
    
  95. Question: 직원 테이블에서 나이의 최대값을 구하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT MAX(나이) FROM 직원;
    
  96. Question: 직원 테이블에서 부서별 평균 나이를 구하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 부서, AVG(나이) FROM 직원
    GROUP BY 부서;
    

Sure, here are the remaining questions starting from 37:

  1. Question: 직원 테이블에서 이름의 글자 수를 구하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT LENGTH(이름) FROM 직원;
    
  2. Question: 직원 테이블에서 입사일이 가장 최근인 직원을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 입사일 = (SELECT MAX(입사일) FROM 직원);
    
  3. Question: 직원 테이블에서 나이가 30인 직원들의 이름을 대문자로 변경하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT UPPER(이름) FROM 직원
    WHERE 나이 = 30;
    
  4. Question: 직원 테이블에서 부서가 ‘개발’인 직원의 이름을 소문자로 변경하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT LOWER(이름) FROM 직원
    WHERE 부서 = '개발';
    
  5. Question: 직원 테이블에서 이름의 첫 글자를 대문자로 변경하여 선택하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT CONCAT(UPPER(SUBSTRING(이름, 1, 1)), LOWER(SUBSTRING(이름, 2))) FROM 직원;
    
  6. Question: 직원 테이블에서 이름부서를 결합하여 ‘이름-부서’ 형식으로 선택하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT CONCAT(이름, '-', 부서) AS 이름_부서 FROM 직원;
    
  7. Question: 직원 테이블에서 이름의 공백을 제거하여 선택하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT TRIM(이름) FROM 직원;
    
  8. Question: 직원 테이블에서 나이를 5년 증가시켜 선택하는 SQL 명령어는 무엇입니까?
    1
    
    SELECT 나이 + 5 FROM 직원;
    
  9. Question: 직원 테이블에서 입사일이 2023년인 직원들을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE YEAR(입사일) = 2023;
    
  10. Question: 직원 테이블에서 나이가 25 이상 30 이하인 직원들의 이름을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 이름 FROM 직원
    WHERE 나이 BETWEEN 25 AND 30;
    
  11. Question: 직원 테이블에서 이름이 ‘홍길동’이 아닌 직원들을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE 이름 != '홍길동';
    
  12. Question: 직원 테이블에서 부서별로 나이를 합산하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 부서, SUM(나이) FROM 직원
    GROUP BY 부서;
    
  13. Question: 직원 테이블에서 이름을 알파벳 순서로 정렬하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    ORDER BY 이름 ASC;
    
  14. Question: 직원 테이블에서 부서가 ‘개발’이 아닌 직원들의 이름부서를 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 이름, 부서 FROM 직원
    WHERE 부서 != '개발';
    
  15. Question: 직원 테이블에서 부서가 ‘마케팅’ 또는 ‘영업’인 직원들의 이름을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 이름 FROM 직원
    WHERE 부서 IN ('마케팅', '영업');
    
  16. Question: 직원 테이블에서 나이가 30 이상인 직원들의 수를 구하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT COUNT(*) FROM 직원
    WHERE 나이 >= 30;
    
  17. Question: 직원 테이블에서 이름의 첫 글자가 ‘김’인 직원들의 수를 구하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT COUNT(*) FROM 직원
    WHERE 이름 LIKE '김%';
    
  18. Question: 직원 테이블에서 부서별로 가장 나이가 많은 직원의 이름을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 부서, 이름 FROM 직원
    WHERE 나이 = (SELECT MAX(나이) FROM 직원 AS sub WHERE sub.부서 = 직원.부서);
    
  19. Question: 직원 테이블에서 입사일이 가장 오래된 직원의 이름을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 이름 FROM 직원
    WHERE 입사일 = (SELECT MIN(입사일) FROM 직원);
    
  20. Question: 직원 테이블에서 이름이 ‘홍길동’인 직원의 부서를 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT 부서 FROM 직원
    WHERE 이름 = '홍길동';
    
  21. Question: 직원 테이블에서 부서가 ‘개발’인 직원의 평균 나이를 구하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT AVG(나이) FROM 직원
    WHERE 부서 = '개발';
    
  22. Question: 직원 테이블에서 이름의 길이가 3자인 직원들을 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT * FROM 직원
    WHERE LENGTH(이름) = 3;
    
  23. Question: 직원 테이블에서 이름의 첫 글자가 ‘박’인 직원들의 이름을 알파벳 순서로 정렬하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    3
    
    SELECT 이름 FROM 직원
    WHERE 이름 LIKE '박%'
    ORDER BY 이름 ASC;
    
  24. Question: 직원 테이블에서 부서가 ‘영업’인 직원의 이름을 소문자로 변경하여 선택하는 SQL 명령어는 무엇입니까?
    1
    2
    
    SELECT LOWER(이름) FROM 직원
    WHERE 부서 = '영업';
    

T

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.