SQL(21)
-
Day12_MYSQL_데이터 정규화 + 서브쿼리
1) 데이터 정규화 - 데이터 베이스를 설계할 때 중복을 최소화하는 것 - 크고, 조직화되어 있지 않은 테이블과 관계들을 조직화된 테이블과 관계들로 나누는 것 사용목적) - 데이터를 갱신,삽입,삭제 등 테이블을 수정할 때 원하지 않게 데이터가 삭제되거나, 가공되는 일이 발생하는데 이를 이상현상이라고 함. - 이상현상 발생하는 경우 데이터 정규화가 반드시 필요 종류) 1. 1NF(제1 정규화) - 규칙: 테이블 안에 모든 값들은 단일값 1. 1번 테이블에서 hobby라는 필드를 추가하고 싶다 2. hobby라는 필드안에 중복된 값이 안들어가게 하고 싶다. (ex) hobby : '운동,'등산','축구') 2. 2NF(제2 정규화) - 규칙: 1NF를 만족 + 완전 함수 종속성을 가진 관계들로만 테이블을 생..
2023.03.20 -
DAY12_MYSQL 정렬 + limit
정렬 ✔✔정렬 오름차순 정렬 (asc) 내림차순 정렬 (desc) select 필드명1,필드명2.. from 테이블명 order by 정렬할 필드명 [asc,desc] 포인트를 기준으로 내림차순, 만약 같은 포인트인 경우 아이디로 내림차순 정렬 select userid,username,point from member order by point desc, userid desc; (1차정렬 = point desc, 2차정렬 = userid desc) 문제) 성별이 여성인 회원을 포인트가 많은 순으로 정렬하기 (단 포인트가 같을경우 먼저 가입한 순으로 정렬) select userid,username,gender,regdate,point from member where gender = 'f' order by p..
2023.03.20 -
DAY12_MYSQL Group + 집계 함수
그룹 형성하기 문법 select 그룹을 맺을 필드 or 집계함수 from 테이블명 group by 그룹을 맺을 필드 having 조건절; 예시 gender from member group by gender; 예시1) 성별로 포인트 합계 구하기 select gender,sum(point) from member group by gender; 그룹 형성하기(조건을 추가해서) select 그룹을 맺을 필드 or 집계함수 from 테이블 group by 그룹을 맺을 필드 having 조건절; 문제_ point가 0이 아닌 회원들 중에서, 남,여로 그룹을 나눠서 포인트의 평균을 구하고, 조건:평균 포인트가 100이상인 성별을 검색하여 포인트로 내림차순 정렬 select gender, avg(point) as avg..
2023.03.20 -
Day12 MySQL_ foreign key + join + union
1) foreign Key 1개의 테이블이 점점 커지면 select 해올 때 시간이 많이 걸릴 수도 있다. foreign key는 다른 테이블과 연관성을 주고 필요시 사용하게 해주는 키(연관성 키) 한마디) 특정 컬럼을 통해서 테이블 2개를 연결하는 것 (쪼개놓고 필요할 때 나중에 합쳐라) 특정 컬럼을 통하는 이유는 ? 관계성을 주기 위해 처리하려고 문법 및 예시) 해석: profile이란 테이블을 만든다. 필드 : userid, height,weight,blood,mbti 주의사항. foreign key에 userid는 profile(테이블)필드 / referneces member(userid) = member의 필드 profile의 userid는 foreign key 임으로, member의 useri..
2023.03.20 -
SQL( AUTO_INCREMET)
AUTO_INCREMENT로 숫자가 1씩 증가하게 설정했다. (ID 필드에) 주의점: AUTO_INCREMENT 사용시 PRIMARY KEY 혹은 UNIQUE를 등록해야 에러가 걸리지 않는다.
2023.03.19 -
Day11 연산자와 데이터 검색, 정렬
SQL연산자 1. 산술 연산자 +,-,*,/,mod(나머지),div(몫) 2. 비교 연산자 =(같다/ where절에만 가능),,>=,= 300 and point 0 group by gender having avg > 100 order by avg desc;
2023.03.17