MySQL 14λ²μ§Έμμ
βΆ μ¬μ©μ μ μ λ³μ
β
λ°©λ² 1) SELECT λ¬Έμ μ¬μ©νμ¬ λ³μλ₯Ό μ€μ
mysql> select @t3=5;
β
λ°©λ² 2) @variable:=expr λ¬Έμ μ¬μ©νμ¬ μ€μ
mysql> select @t1:=(@t2:=1)+@t3:=4,@t1,@t2,@t3;
β
β
β
βΆ μμ€ν λ³μ
μμ€ν λ³μλ thread-specific λ³μμ global λ³μκ° μλ€.
global λ³μλ set global λͺ λ ΉμΌλ‘, session λ³μλ set session λͺ λ ΉμΌλ‘ λ³κ²½ν μ μλ€.
β
ββ
6-1) νμ ν μ΄λΈμμ νλ²κ³Ό μ΄λ¦, μλ¬Έμ΄λ¦μ μΆλ ₯νλΌ. λ¨, μλ¬Έμ΄λ¦μ 첫 κΈμλ λλ¬Έμλ‘ λλ¨Έμ§λ μλ¬Έμλ‘ μΆλ ₯νλΌ.
mysql> select stu_no, stu_name, concat(upper(left(stu_ename,1)), lower(substring(stu_ename,2))) stu_ename
-> from student;
β
β
6-2) μλ¬Έμ΄λ¦μ κΈΈμ΄κ° μ νν 11μμΈ νμμ νλ²κ³Ό μλ¬Έμ΄λ¦μ μΆλ ₯νλΌ.
mysql> select stu_no, stu_ename
→ from student
→ where lengthβ(rtrim(stu_ename)) = 11;
β
β
6-3) λ±λ‘μΌμκ° 2019λ 2μ 18μΌμΈ νμμ νλ²κ³Ό λ±λ‘λ λ, νκΈ°, λ±λ‘μΌμλ₯Ό μΆλ ₯νλΌ.
mysql> select stu_no, fee_year, fee_term, fee_date
→ from fee
→ where fee_date = "2019-02-18";
β
β
μ¬ν) ν μ΄λΈ κ²°ν©
νλ², μ΄λ¦, λ±λ‘λ λ, νκΈ°, λ±λ‘μΌμλ₯Ό μΆλ ₯νλΌ.
mysql> select s.stu_no, stu_name, fee_year, fee_term, fee_date
-> from student s inner join fee f on s.stu_no = f.stu_no
-> where fee_date = '2019-02-18';
β
β
6-4) νμ ν μ΄λΈμμ νλ²κ³Ό μ΄λ¦, μ£Όλ―Όλ±λ‘λ²νΈλ₯Ό μΆλ ₯νλΌ. λ¨, μ¬νμμ μ μΈμν€κ³ μΆλ ₯ μμλ νκ³Όλ³ μ€λ¦μ°¨μ, νλ λ³ λ΄λ¦Όμ°¨μ, νλ² μ€λ¦μ°¨μ μμμ΄λ€.
mysql> select stu_no, stu_name,
→ concat(substring(birthday, 3), '-', gender, '******') μ£Όλ―Όλ²νΈ
→ from student
→ where gender%2 = 1
→ order by dept_code, grade desc, stu_no;
β
β
β
β
βΆ SELECT λͺ λ Ήλ¬Έμ μ
select μ΄ … from ν μ΄λΈ where 쑰건 group by μ΄ having group by 쑰건 order by μ΄β
β
β
μμ 7-1) λ±λ‘ ν μ΄λΈ("FEE")μμ μ₯νκΈμ μ§κΈ λ°μ νμμ νλ²κ³Ό μ₯νκΈ λ΄μμ μΆλ ₯νλΌ.
mysql> select stu_no, jang_total
→ from fee
→ where jang_total > 0;
β
β
μμ 7-2) λ±λ‘ ν μ΄λΈ("FEE")μμ νκΈμ 1,000,000 μ΄μ μ§κΈ λ°μ νμ μ€μμ 2ν μ΄μ μ§κΈλ°μ νμμ νλ²κ³Ό, μ§κΈλ°μ νμλ₯Ό νλ² λ΄λ¦Όμ°¨μμΌλ‘ μΆλ ₯νλΌ.
mysql> select stu_no, count(*)
→ βfrom fee
→ where jang_total > 1000000
→ group by stu_no
→ having count(*) > 1
→ order by stu_no desc;
β
β
*FROM μ
μ΄ ν μ΄λΈμμλ§ μμ μ μννλ€λ λ»
β
*WHEREμ
쑰건
β
*GROUP BYμ
κ·Έλ£Ήλ³λ‘ κ²μμ ν λ μ¬μ©
group byμ μ μ¬μ©ν λ κ·Έλ£Ή ν¨μλ₯Ό κ°μ΄ μ¬μ©ν΄μΌνλ€
β
*HAVINGμ
havingμ κ³Ό whereμ μ μλ‘ λΉκ΅ν μ μλλ°, κ·Έ μ°¨μ΄μ μ whereμ μ fromμ μμ μμ±λ μ€κ° ν μ΄λΈμμ λμνκ³ , havingμ μ group byμ μμ μμ±λ μ€κ° ν μ΄λΈμμ λμνλ€.
μνλ κ³Όμ μ λμΌνλ€.
havingμ μ ν¬ν¨μμΌ°μ λ SQLμ 쑰건μ μ°Έμ‘°νμ¬ νμ μ ννλ€.
β
*SELECTμ
μ΅μ’ κ²°κ³Ό ν μ΄λΈμ ννλ μ΄μ μ§μ νκΈ° μν΄μ μ¬μ©λλ€.
λ€μ λ§νλ©΄ selectμ μ μ΄μ μ ννλ κ².
β
*ORDER BYμ
λ§μ§λ§μΌλ‘ μνλλ μ λ‘ μ€κ° κ²°κ³Ό ν μ΄λΈμ λ΄μ©μ μν₯μ μ£Όμ§ μλλ€.
κ·Έλ¬λ λ§μ§λ§κΉμ§ μ νλ νμ μ λ ¬νλ€.