13주차 SQL

정지원·2024년 5월 27일
0

에이블 스쿨 복습

목록 보기
48/51

SQL

  • Structured Query Language
  • 데이터베이스에서 데이터를 조회하거나 처리(입력, 수정, 삭제)할 때 사용하는 구문
  • SQL 86 > 92 > 1999 > 2003 > 2008 > 2011 > 2016

1. 데이터 기본 조회

(1) MySQL Workbench 구성

(2) 쿼리문 작성 방법

  • 주석: 쿼리문에 대한 주석을 남기는 습관 필요
/*
제목: 탄단지원
이름: 정지원
날짜: 2024-05-21
*/
  • 실행: ctrl + enter

(3) 단순 조회

  • SELECT
  • 대부분의 SELECT 문은 FROM 절을 사용해 테이블에서 데이터를 조회함
  • FROM 절이 꼭 필요한 것은 아님
  • 특정 값, 계산식, 함수 결과를 조회할 수 있음
  • AS를 사용해 표시되는 열의 별칭을 지정할 수 있음
  • 문자열 출력
SELECT 'Hello SQL World';

  • 별칭 사용(AS)
SELECT 'Hello SQL World' AS Start;

  • 숫자 연산 출력
SELECT 10 + 20 AS Result;

  • 함수 결과 출력
SELECT CURDATE() AS Today;

  • 변수 값 출력
SET @Today = CURDATE();
SELECT @Today;

(4) 기본적인 데이터 조회

SELECT 열2, 열2
	FROM 테이블
    WHERE 조건;
  • SELECT 절에 조회할 열 이름이나 수식을 순서대로 나열
  • 모든 열: *
  • FROM 절: 조회 대상 테이블, 뷰, 테이블을 반환하는 함수, 쿼리문
  • WHERE: 행 추출을 위한 조건을 입력, 조건을 생략하면 모든 행이 조회 됨
  • 직원의 모든 열 조회
SELECT * FROM employee;

  • 일부 열 모든 행 조회 (원하는 열 순서대로)
SELECT emp_name, gender, marital_yn, emp_id, dept_id
	FROM employee;

(6) 비교연산자,논리연산자

비교연산자

  • WHERE 절 사용 (비교연산자)
  • 숫자의 크기, 문자, 날짜도 크기를 비교할 수 있음
  • 같지 않다 = 다르다 = <> = != 사용
  • id가 S0002인 휴가 정보 조회
SELECT *
	FROM vacation
	WHERE emp_id = 'S0002';

  • 연봉이 7,000을 초과하는 직원 정보 조회
SELECT emp_name, emp_id, dept_id, gender, hire_date, salary
	FROM employee
	WHERE salary > 7000;

논리연산자

  • WHERE 절에서 여러 개의 조건을 연결하는 연산자
  • AND 연산자는 조건을 만족할 수록 행이 줄어듦 => 성능면에서 긍정
  • OR 연산자는 조건을 만족할 수록 결과 행이 늘어남 => 성능면에서 부정적
  • NOT 연산자는 조건에 대한 부정을 의미 ()

(7) 범위 조건과 리스트 조건

(8) NULL값 비교, IFNULL 함수

(9) 자동 형변환

(10) 데이터 결합, 데이터 정렬

(11) CASE문, IF 함수

2. 데이터 집계

3. 순위 함수

4. 데이터 변경

5. 다중 테이블 조회

6. 뷰 (views)

profile
뒤늦게 프로그래밍을 시작한 응애

0개의 댓글