[240906] SQL 걷기반 (~1강)

JunichiK·2024년 9월 6일

SQL 스터디

목록 보기
1/21

과제에서 필수 사용되는 문법 요약

기본적인 SQL 구조 (엑셀과 비교)

SQL엑셀
데이터베이스파일
테이블시트
컬럼/필드
레코드
  1. SQL 기초

    • 쿼리 실행 버튼 : ‘Ctrl + Enter’
    • 생성 (Create)
      • 데이터베이스
        Create Database Bootcamp;
      • 테이블
        Create Table Data(
        	id INT,
        	name VARCHAR(50)
        	age INT
        	mbti VARCHAR(4)
        );
    • 삽입 (Insert)
      Insert INTO DATA (id, name, age, mbti) values (1, 'Junichi', 28, 'ENFJ');
    • 조회 (Select)
      Select * from Data where age < 30 and mbti = 'ENFJ' order by id asc limit 5;
    • 수정 (Update)
      Update Data set mbti = 'ENFP' where id = 1;
    • 삭제 (Delete)
      Delete from Data where id = 1;
  2. 집계 함수

    • 주로 Select 다음에 쓰임
    • Count : 행의 개수 세기
      Select Count(*) from Data;
    • Sum : 숫자 값의 합 계산
      Select sum(age) from Data;
    • Avg : 숫자 값의 평균 계산
    • Max : 최대 값 찾기
    • Min : 최소 값 찾기
  3. 조건문

    • And : 두 조건 모두 참일 때
      Select name from Data where age = 28 and mbti = 'ENFP';
    • Or : 두 조건 중 하나만 참일 때
    • Not : 조건이 거짓일 때
      Select Mbti from Data Where NOT Age < 30;
  4. 기본키 Vs 외래키

    • 기본 키 (Primary Key) : 테이블에서 각 행을 고유하게 식별하는 컬럼
    • 외래 키 (Foreign Key) : 다른 테이블의 기본 키를 참조하는 열, 테이블 간의 관계 나타냄.
      Create Table Backend (
      	id INT Primary Key,
      	Sparta_id INT,
      	Foreign Key (Sparta_id) REFERENCES Sparta(id)
      );
      • 해석 : Backend 라는 테이블 생성. 테이블 내 컬럼은 두 개

        • id : 정수형 데이터 저장, 기본 키 컬럼 (Backend 테이블의 각 행을 고유하게 식별)
        • Sparta_id : 정수형 데이터 저장, 외래 키 컬럼 (Sparta 테이블의 id 를 참조하는 외래 키, 백엔드의 각 학생이 스파르타 코딩클럽의 어떤 학생인지 나태내는 컬럼)
  1. Select 문제

    create table sparta_employees(
        id INT PRIMARY KEY, 
        name VARCHAR(30) NOT NULL, 
        position VARCHAR(30) NOT NULL,  
        salary int, 
        hire_date date
    );
    
    INSERT into 'sparta_employees' (`id`, `name`, `position`, `salary`, `hire_date`) VALUES ('1', '르탄이', '개발자', '30000', '2022-05-01');
    INSERT into 'sparta_employees' (`id`, `name`, `position`, `salary`, `hire_date`) VALUES ('2', '배캠이', 'PM', '40000', '2021-09-25'); 
    INSERT into 'sparta_employees' (`id`, `name`, `position`, `salary`, `hire_date`) VALUES ('3', '구구이', '파트장', '35000', '2023-06-01');
    INSERT into 'sparta_employees' (`id`, `name`, `position`, `salary`, `hire_date`) VALUES ('4', '이션이', '팀장', '50000', '2021-07-09');
    
    select * from sparta_employees;
    
    select name, position from sparta_employees;
    
    select DISTINCT position from sparta_employees;
    
    select * from sparta_employees where salary BETWEEN 40000 and 60000;
    
    select * from sparta_employees where hire_date < '2023-01-01';

오답노트

  • Distinct : 중복 제거 함수
    • 사용법 : Distinct 컬럼

      Select DISTINCT position from sparta_employees;
  • Between : 사이의 값 나타내는 함수
    • 사용법 : Between N1 and N2

      select * from sparta_employees where salary BETWEEN 40000 and 60000;
profile
represent ojeong-dong

0개의 댓글