SQL Guide

SQL Guide

SQL (Structed Query Language)

  • RDBMSμ—μ„œ λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ •μ˜μ™€ μ‘°μž‘μ„ μœ„ν•œ λ°μ΄ν„°λ² μ΄μŠ€ μ–Έμ–΄

  • λ°μ΄ν„°μ˜ μ°Έμ‘°, λ³€κ²½, μ‚­μ œ, 계산 λ“± κ΄€κ³„ν˜• λ°μ΄ν„°λ² μ΄μŠ€μ™€ κ·Έ μ•ˆμ— μžˆλŠ” ν…Œμ΄λΈ” 및 데이터가 ν•„μš”

λ°μ΄ν„°λ² μ΄μŠ€μ˜ κΈ°λ³Έ μ‘°μž‘

  1. λ°μ΄ν„°λ² μ΄μŠ€ 쑰회

    SHOW DATABASES;
  2. λ°μ΄ν„°λ² μ΄μŠ€ 생성

    CREATE DATABASE <database_name>;
  3. λ°μ΄ν„°λ² μ΄μŠ€ 선택

    USE <database_name>;
  4. .sql νŒŒμΌμ—μ„œ SQL λ¬Έ μ°Έμ‘°

    SOURCE <.sql file path>;
  5. λ°μ΄ν„°λ² μ΄μŠ€ μ‚­μ œ

    DROP DATABASE <database_name>;

ν…Œμ΄λΈ”μ˜ κΈ°λ³Έ μ‘°μž‘

  1. λ°μ΄ν„°λ² μ΄μŠ€μ˜ ν…Œμ΄λΈ” 쑰회

    SHOW TABLES;
  2. ν…Œμ΄λΈ” 생성

    • datatype

      • INTEGER

      • NUMERIC

      • CHAR

      • VARCHAR

      • DATE

    CREATE TABLE table_name (
    	column1 datatype, 
    	column2 datatype,
    	column3 datatype,
    ...
    )
  3. ν…Œμ΄λΈ” 컬럼 정보 ν‘œμ‹œ

    DSCRIBE talble_name;
  4. 기쑴의 ν…Œμ΄λΈ”μ— λ ˆμ½”λ“œ μΆ”κ°€

    INSERT INTO table_name (column1, column2, column3, ...)
    VALUES (value1, value2, value3);
  5. κΈ°μ‘΄ ν…Œμ΄λΈ” λ ˆμ½”λ“œ λ³€κ²½

    UPDATE table_name
    SET column1 = value1, column2 = value2, ...
    WHERE condition;
  6. ν…Œμ΄λΈ”μ—μ„œ λ ˆμ½”λ“œλ₯Ό μ‚­μ œ

    DELETE FROM table_name
    WHERE condition;
  7. ν…Œμ΄λΈ”μ„ μ‚­μ œ

    DROP TABLE table_name;
  8. 기쑴의 ν…Œμ΄λΈ”μ— μ»¬λŸΌμ„ μΆ”κ°€, μ‚­μ œ λ˜λŠ” λ³€κ²½

    ## 컬럼 μΆ”κ°€
    ALTER TABLE table_name
    ADD column_name datatype;
    ## 컬럼 μ‚­μ œ
    ALTER TABLE table_name
    DROP COLUMN column_name;
    ## 컬럼 λ³€κ²½
    ALTER TABLE table_name
    ALTER COLUMN column_name datatype;
  9. ν…Œμ΄λΈ” 이름 λ³€κ²½

    • table-name (x) β†’ table_name(o)

    RENAME TABLE table_name to table_name2;

데이터 검색어

  1. SELECT

    SELECT * FROM table_name;
    SELECT column1, column2, ...
    FROM table_name;
  2. SELECT DISTINCT

    SELECT DISTINCT column1, column2, ...
    FROM table_name;
  3. WHERE

    • where의 쑰건

      • λ¬Έμžμ—΄ λΉ„νš¨ (text)

      • 수치의 비ꡐ(numbers)

      • AND, OR, NOT λ“±μ˜ 논리 μ—°μ‚°

    SELECT product_name, product_type
    FROM Product
    WHERE product_type = 'clothes';
  4. GROUP BY

    • νŠΉμ • μ»¬λŸΌμ„ ν‚€μœΌ ν•©κ³„λ‚˜ ν‰κ· μœΌλ‘œ ν‘œμ‹œ

    • 집계 ν•¨μˆ˜

      • COUNT

      • MAX /MIN

      • SUM

      • AVG

    • SELECT 문의 μ‹€ν–‰ μˆœμ„œ :

      FROM β†’ WHERE β†’ GROUP BY β†’ SELECT

    SELECT COUNT(CustomerID), Country
    FROM Customers
    GROUP BY Country;
    SELECT column_name(s)
    FROM table_name
    WHERE condition
    GROUP BY column_name(s);
  5. Having

    • 집계 ν•¨μˆ˜μ™€ ν•¨κ»˜ μ‚¬μš©

    • HAVING vs WHERE

    SELECT COUNT(CustomerID), Country
    FROM Customers
    Group BY Country
    HAVING COUNT(CustomerID) > 5;
    SELECT column_name(s)
    FROM table_name
    WHERE condition
    GROUP BY column_name(s)
    HAVING condition
    ORDER BY column_name(s);
  6. ORDER BY

    • κΊΌλ‚Έ κ²°κ³Ό μ •λ ¬

      • ASC(μ˜€λ¦„μ°¨μˆœ)(default) or DESC(λ‚΄)수차순

    SELECT column1, column2, ...
    FROM table_name
    ORDER BY column1, column2, .... ASC|DESC;
  7. BETWEEN

    SELECT column_name(s)
    FROM table_name
    WHERE column_name BETWEEN value1 AND value2;
  8. LIKE

    • % : 0문자 μ΄μƒμ˜ μž„μ˜μ˜ λ¬Έμžμ—΄

    • _ : μž„μ˜μ˜ 문자

    SELECT column1, coulumn2, ...
    FROM table_name
    WHERE column1 LIKE pattern;
  9. IN

    • WHERE와 ν•¨κ»˜ μ‚¬μš©ν•˜μ—¬ μ—¬λŸ¬ κ°’ 지정 κ°€λŠ₯

    SELECT column_name(s)
    FROM table_name
    WHERE column_name IN (value1, value2, ....);
  10. JOIN

    SELECT column_name(s)
    FROTM table 
    INNER JOIN table2
    ON table.column_name = table2.column_name;
  11. VIEW

    • κ°€μƒμ˜ ν…Œμ΄λΈ”

    • 항상 λ°μ΄ν„°λ² μ΄μŠ€μ˜ μ΅œμ‹  데이터λ₯Ό ν‘œμ‹œ

    CREATE VIEW view_name AS 
    SELECT column1, column2, ...
    FROM table_name
    WHERE condition;
    ## view μ‚­μ œ
    DROP VIEW <view_name>;
  12. ν•˜μœ„

    • κΈ°μ‘΄ ν…Œμ΄λΈ”μ„ κ°€κ³΅ν•œ κ²ƒμ—μ„œ 데이터 검색

    SELECT DISTINCT course_id FROM section
    WHERE semester = 'Fall' AND year= 2018
    AND course_id IN (
    SELECT course_id
    FROM section 
    WHERE semester = 'Spring' AND yesr= 2019
    );

reference

Etc

How do I get SUM function in MySQL to return '0' if no values are found?

MySQL κ³„μ‚°ν•˜κ±°λ‚˜ λ¬Έμžμ—΄μ„ κ²°ν•©ν•΄μ„œ ν‘œμ‹œν•˜κΈ°, MySQL ν•¨μˆ˜ μ‚¬μš©ν•˜κΈ°

OracleSQL - 쀑첩 κ·Έλ£Ήν•¨μˆ˜ / λΆ„μ„ν•¨μˆ˜

sql group by 2개 이상 : λ‚˜λˆŒ 기쀀을 select μ ˆμ—λ„ λ˜‘κ°™μ΄ 적어주면 λœλ‹€.

Last updated