반응형

본 글은 책 "칼퇴족 김대리는 알고 나만 모르는 SQL 기초 편"의 정리 내용입니다.

지정한 열 가져오기


1. 지정한 열이 한 개일 경우

SELECT 열 이름 FROM 테이블명;

2. 지정한 열이 두 개 이상인 경우

SELECT 열이름1, 열이름2, 열이름3 FROM 테이블명;

예제


직원 정보 테이블: CLERK

ID  STAFF_NM  DEF_NM  GENDER  BIRTH_DT  EMP_FLAG
121 신지원 리스크부 F 1978-05-28 Y
135 이민성 마케팅부 M 1984-02-11 Y
142 김선명 영업지원부 M 1971-12-08 Y
144 이기동 마케팅분석부 M 1981-03-03 Y
334 고현정 전략기획부 F 1965-01-12 Y
703 송지희 검사부 F 1985-05-14 Y
732 연승환 기업영업지원부 M 1990-01-26 Y
911 이명준 여의도지점 M 1988-06-11 N
  • CLERK 테이블의 Primary Key는 ID
더보기
CREATE TABLE CLERK
(
ID INT NOT NULL,
STAFF_NM CHAR(20) NOT NULL,
DEF_NM CHAR(20) NOT NULL,
GENDER CHAR(1) NOT NULL,
BRITH_DT CHAR(20) NOT NULL,
EMP_FLAG CHAR(1) NOT NULL,
PRIMARY KEY('ID')
);

INSERT INTO CLERK
VALUES
(121, '신지원', '리스크부', 'F', '1978-05-28', 'Y'),
(135, '이민성', '마케팅부', 'M', '1984-02-11', 'Y'),
(142, '김선명', '영업지원부', 'M', '1971-12-08', 'Y'),
(144, '이기동', '마케팅분석부', 'M', '1981-03-03', 'Y'),
(334, '고현정', '전략기획부', 'F', '1965-01-12', 'Y'),
(703, '송지희', '검사부', 'F', '1985-05-14', 'Y'),
(732, '연승환', '기업영업지원부', 'M', '1990-01-26', 'Y'),
(911, '이명준', '여의도지점', 'M', '1988-06-11', 'N');

 

Q1. 아래 쿼리문의 결과는? (한개의 열 출력)

SELECT ID FROM CLERK;
더보기
ID 
121
135
142
144
334
703
732
911

 

Q2. 아래 쿼리문의 결과는? (2개의 열 출력)

SELECT ID, STAFF_NM FROM CLERK;
더보기

 

ID STAFF_NM
121 신지원
135 이민성
142 김선명
144 이기동
334 고현정
703 송지희
732 연승환
911 이명준

모든 열 가져오기


1. 모든 열 이름을 적기

SELECT 열이름1, 열이름2, 열이름3, 열이름4 FROM 테이블명;

2. 문자 * 를 사용하기

SELECT * FROM 테이블명;

Q3.  CLERK 테이블에서 모든 열 출력 

더보기
ID  STAFF_NM  DEF_NM  GENDER  BIRTH_DT  EMP_FLAG
121 신지원 리스크부 F 1978-05-28 Y
135 이민성 마케팅부 M 1984-02-11 Y
142 김선명 영업지원부 M 1971-12-08 Y
144 이기동 마케팅분석부 M 1981-03-03 Y
334 고현정 전략기획부 F 1965-01-12 Y
703 송지희 검사부 F 1985-05-14 Y
732 연승환 기업영업지원부 M 1990-01-26 Y
911 이명준 여의도지점 M 1988-06-11 N
반응형
반응형

데이터베이스(DB)의 정의

  • 여러 사람에게 공유되어 사용될 목적을 가지고, 구조적인 방식으로 관리되는 데이터들의 집합

데이터베이스 관리 시스템(DBMS: Database Management System)

  • 데이터를 정리하고 보관하기 위한 용도로 사용되고 데이터 추가, 변경, 삭제, 검색 등의 기능을 수행
  • 대표적인 DBMS 는 Oracle, MySQL

DBMS의 특성

  1. 실시간 접근성
    • 컴퓨터가 접근할 수 있는 저장 장치에서 관리되는 데이터베이스는 지속적이고 비정형적인 질의에 대하여 실시간 처리가 가능해야 함
  2. 계속적인 변화
    • 데이터베이스 상태는 동적
    • 기존 데이터베이스에 새로운 데이터 삽입, 삭제, 갱신등의 변화를 주어 정확한 데이터 유지 필요
  3. 동시 공용
    • 다수의 사용자가 동시에 각자 원하는 데이터에 접근하여 이용할 수 있어야 함
  4. 내용에 의한 참조
    • 레코드의 주소나 위치에 의해서가 아니라 사용자가 요구하는 데이터의 내용, 즉 데이터가 가지고 있는 값에 따라 참조

SQL 사용을 위해 필요한 DB 용어

  1. 테이블
    • 엑셀에서 스프레드 시트의 의미
    • 동일한 두 개의 테이블 이름은 허락되지 않음
  2. 스키마(Schema)
    • 테이블에 데이터가 저장되는 방식을 정의
    • 데이터베이스에 존재하는 자료의 구조 및 내용과 자료들의 논리적, 물리적 특성에 대한 정보를 표현하는 논리적 구조
  3. 열(Column)
    • 테이블을 구성하는 각각의 정보
    • 테이블을 여러 가지 열로 나누는 일은 매우 중요
      : 아래 CASE 2와 같이 데이터를 저장하는 경우 지역에 따른 고객의 분포에 대한 자료를 추출하고자 할 때 추가 작업없이 추출 가능

      CASE 1. 전화번호를 한 개의 열에 모두 입력고객 ID 전화번호
      고객 ID 자택전화번호
      123 0237003333
      CASE 2. 전화번호를 지역번호, 앞자리, 뒷자리 3개의 열에 나눠서 입력고객 ID 지역번호 전화번호 앞자리 전화번호 뒷자리
      고객 ID 지역번호 전화번호 앞자리 전화번호 뒷자리
      123 02 3700 3333
  4. 행(Row)
    • 테이블의 데이터는 행에 저장됨
    • 고객이 3명이면 3개의 행으로 구성
    • 레코드라고 표현하기도 함
  5. 기본 키(Primary Key) 
    • 각 행을 고유하게 하는 열
    • 기본 키는 테이블 생성 시 반드시 필요

 

SQL이란?

  • Structured Query Language로, 데이터베이스에 접근할 수 있는 데이터 하부 언어를 지칭

SQL의 종류

  1. 데이터 정의어(DDL : Data Definition Language)
    • 데이터가 저장된 공간이 ‘테이블’, 테이블 형식이 ‘스키마’라면 DDL은 데이터와 그 형식을 정의하는 언어
      • CREATE: 데이터베이스 테이블 생성
      • DROP : 데이터베이스 테이블 삭제
      • ALTER : 기존 데이터베이스 테이블 재정의
  2. 데이터 조작어(DML : Data Manipulation Language)
    • DDL로 테이블과 스키마를 만들었다면, DML 그 공간에 데이터를 저장, 수정, 삭제, 조회하는 언어
      • INSERT : 테이블에 데이터 삽입
      • DELETE : 테이블의 데이터 삭제
      • UPDATE : 기존 테이블 안의 데이터 수정
      • SELECT : 테이블 내 데이터 검색
  3. 데이터 제어어(DCL : Data Control Language)
    1. 데이터 베이스 사용자의 권한 제어를 위해 사용되는 언어
      1. GRANT : 테이블에 권한 부여
      2. REVOKE : 부여한 권한 취소/회수
반응형
반응형

Visual Studio Code에서 Windows Subsystem for Linux와 연동하여 C/C++ 코드를 작성할 때, ctrl + p를 눌러서 제안되는 항목들을 보려했지만, 아래 사진처럼 No suggestions이라고 발생합니다. 

No suggestion

해결책

- Ubuntu package들이 update되지 않아 발생하는 문제로 command prompt에 아래 명령어를 입력하여 package를 update

sudo apt-get update

- command prompt에 아래 명령어를 입력하여 GNU compiler tools and the GDB debugger 설치

sudo apt-get install build-essential gdb

- 이후 VS code를 재시작하면 아래처럼 suggestion list를 볼 수 있음

Suggestion !!

 

참고

- Using C++ and WSL in VS Code (https://code.visualstudio.com/docs/cpp/config-wsl)

반응형

+ Recent posts