본문 바로가기

DB/MY-SQL13

MYSQL - JOIN (INNER JOIN) JOIN SELECT 속성명 FROMㅡ 테이블명 INNER JOIN 테이블명 ON 조건 WHERE 조건절 두개 이상의 테이블을 서로 뭌ㄲ어서 하나의 결과 집합으로 만들어 내는 작업 두 테이블을 가로 방향으로 합치는 것에 관한 결합 연산 1) INNER JOIN(내부조인) 조인중에서 가장 많이 사용되는 조인 디폴트 조인 왼쪽과 오른쪽에 같은 공통적인것 두 테이블에서 모두 일치하는 로우, 마치 교집합과 같은 결과를 반환 SELECT * FROM buytbl INNER JOIN usertbl ON buytbl.userID = usertbl.userID WHERE buytbl.userID = 'JYP'; == select * from buytbl,usertbl Where buytbl.userid = usertb.. 2021. 5. 25.
MYSQL - GROUP BY , HAVING GROUP BY 그룹핑 된 것이 꼭 SELECT 자리에 와야한다. Alias 별칭사용 ex) userID를 사용자 아이디, SUM(amount)를 총구매 개수로 속성명의 별칭을 사용 집계함수 SELECT 뒤에 오는 함수들 개수(COUNT) : 튜플의 개수 최댓값(MAX) 최솟값(MIN) 평균값(AVG) 합계(SUM) 표준편차(STD) 절대값(ABS) 제곱근(SQRT) 올림(CEIL) 내림(FLOOR) 반올림(ROUND) SUM(집계함수) 그룹으로 묶은 줄중 모든 줄들을 더하는 함수, 한라인에서 구할 수 있는 것을 해주어야 ex) 품목이름과 품목의 총 개수와 평균가격을 구하라 1. 전체 구매자가 구매한 물품의 개수의 평균 구하기 2. 각 사용자별 물건 구매시 평균 몇개 구매했는 지 평균구하기 usertbl.. 2021. 5. 25.
MYSQL - 집계함수 COUNT()와 CREATE TABLE..SELECT 집계함수 SELECT 뒤에 오는 함수들 개수(COUNT) : 튜플의 개수 최댓값(MAX) 최솟값(MIN) 평균값(AVG) 합계(SUM) 표준편차(STD) 절대값(ABS) 제곱근(SQRT) 올림(CEIL) 내림(FLOOR) 반올림(ROUND) COUNT() SUM(집계함수) 그룹으로 묶은 줄중 모든 줄들을 더하는 함수, 한라인에서 구할 수 있는 것을 해주어야 ex) 품목이름과 품목의 총 개수와 평균가격을 구하라 1. 전체 구매자가 구매한 물품의 개수의 평균 구하기 2. 각 사용자별 물건 구매시 평균 몇개 구매했는 지 평균구하기 usertbl에서 같은 지역에서 키가 가장 큰 사람의 이름과 키를 구하시오, 휴대폰이 있는 사용자의 수를 카운트 하기 NULL 제외하고 카운트 하기 SUM()을 이용하여 사용자별 총.. 2021. 5. 25.
MYSQL 서브쿼리 (IN,EXISTS, ALL/SOME/ANY), ORDER BY 절( DISTINCT, LIKE, LIMIT) 서브쿼리 쿼리문 안에 또 쿼리문이 ㄷㄹ어있는 것 서브쿼리 사용하는 쿼리로 변환 예제 ex) 김경호보다 키가 크거나 같은 사람의 이름과 키 출력 SELECT name, height FROM usertbl WHERE height > 177; ▼ SELECT name, height FROM usertbl WHERE height > (SELECT height FROM usertbl WHERE name = 'kimKH'); ex) 지역이 경남인 사람의 키보다 크거나 같은 사람을 추출 서브쿼리의 결과가 둘 이상의 되면 에러 발생 ANY/ALL/SOME ANY 하나만 만족해도된다. // 최소값 ALL 모두 만족해야 / / 최대값 IN() ()안에 특정값이나 서브쿼리의 결과값이 포함되는지를 체크 EXISTS() ()안.. 2021. 5. 24.
MYSQL select 구문 SELECT 문 데이터 베이스 내에서 원하는 열의 데이터를 뽑아주는 구문이다. 순서를 잘 지켜서 써주어야 한다! 괄호()는 선택적 사항 SELECT 속성명 FROM 테이블명 ( WHERE 조건절 GROUP BY 속성명 HAVING 그룹을 지을 때 조건 ORDER BY 정렬 ) SELECT * == 모든속성을 보여줘라 ex) usertbl의 이름과 높이를 뽑아라 ex) usertbl의 키가 180이상인 사람을 뽑아라 .을 써서 해당데이터베이스.해당테이블 ex) 1970년도 이상 키가 182이상인 사람들의 아이디와 이름을 추출하시오. select userID, name from usertbl where birthYear >= 1970 AND height >= 182; ex) 지역이 경남이고 키가 182이상인.. 2021. 5. 24.
MYSQL 릴레이션 릴레이션? 수학의 집합 1) 릴레이션의 특징 속성은 단일 값을 가진다. (콤마로 연결되면 안됨) 속성은 서로 다른 이름을 가진다. 한 속성의 값은 모두 같은 도메인 값을 가진다. (한 열의 타입은 같다) 속성의 순서는 상관없다. 릴레이션 내의 중복된 튜플은 허용하지 않는다. (추출할 떄는 한개만 추출하므로) 튜플의 순서는 상관없다. 스키마 관계 데이터베이스의 릴레이션이 어떻게 구성되는지 어떤 정보를 담고 있느지에 대한 기본적인 구조정의 1) 스키마의 요소 속성(어트리뷰트) : 릴레이션 스키마의 열 도메인 : 속성이 가질수 있는 값의 집합 (타입) 차수(디그리) : 속성의 개수 속성(어트리뷰트) = 열(컬럼) = 차수(디그리) 튜블 = 행(로우) = 카디널리티 무결성 제약조건 무결성(오류를 없애는것) 1).. 2021. 5. 24.