Database 3일차

yedy·2023년 5월 11일
0

[mySQL]

목록 보기
1/16
post-thumbnail

sql #3

SELECT COUNT(*) FROM world.city;

SELECT * FROM world.city LIMIT 5;

-- DROP TABLE city_pop;
CREATE TABLE city_pop(city_name CHAR(70), population INT);

INSERT INTO city_pop
	SELECT Name, Population FROM world.city;
    
SELECT COUNT(*) FROM city_pop;

SELECT * FROM city_pop LIMIT 5;

UPDATE city_pop
	SET city_name = 'Seoul', population = 0
    WHERE city_name = '서울';
SELECT * FROM city_pop WHERE city_name = 'Seoul';
    


  • DDL(데이터 정의어)
    테이블의 구조를 만들때 사용

  • DML(데이터 조작어)
    데이터를 검색, 삽입, 수정, 삭제 시 사용

  • DCL(데이터 제어어)
    데이터에 대한 접근 권한 제어시 사용


🔹 문자열 저장하는 도메인
CHAR(10) 자바00000000 (길이가 고정적)
VARCHAR(10) 자바 (길이가 가변적) 메로리 효율성!

SQL
다른 프로그래밍 언어보다 데이터를 관리하는데 있어 훨씬 숩고 편리(데이터 부속어) 이클립스, STS와 같은 자바로 작성된 클라이언트/서버 응용 프로그램에 삽입가능 또는 웹 페이지(HTML)문서에도 삽입 가능


✔️ SELECT




✔️ 조건 검색_WHERE








✔️ 집계 함수

✔️ GROUP BY

-> GROUP BY절을 사용하면 속성이 같은 값끼리 그룹을 만들 수 있다.

HAVING절

GROUP BY와 HAVING 절의 문법과 주의사항

SQL 문의 실행 순서

✔️ 조인(JOIN)

🔺 외부조인

WHERE : 검색에 대한 조건을 많이 씀
JOIN은 WHERE 굳이 X 따로 키워드로 분리하여 사용한다!

✔️ 서브쿼리(부속질의)

  • 하나의 SQL문 안에 다른 SQL문이 중첩된 쿼리를 말한다.
    다른 테이블에서 가져온 데이터로 현재 테이블에 있는 정보를 찾거나 가공할때 사용 한다.
    -> 조인 보다 필요한 데이터만 찾아서 공급하는 서브쿼리가 더 성능이 좋다.



SELECT bookname, publisher FROM Book AS b1
	WHERE price > (SELECT AVG(price) FROM Book AS b2 WHERE b1.publisher = b2.publisher);

✔️ 집합연산

🔺 합집합 UNION, 차집합 EXCEPT, 교집합 INTERSECT

✔️ EXISTS

원래 단어에서 의미하는 것과 같이 조건에 맞는 튜플이 존재하면 결과에 포함시킴. 즉 부속질의문의 어떤 행이 조건에 만족하면 참임.
반면 NOT EXISTS는 부속직의문의 모든 행이 조건에 만족하지 않을 때만 참임.

profile
공주 개발자

0개의 댓글