본문 바로가기

DB55

스키마 설계 - 영화 리뷰 서비스 더보기 -- 회원가입 화면INSERT into user (email,password,nickname,gender)values ('abc@naver.com','1234','홍길동',1); -- 리뷰 작성에 필요한 SQLINSERT INTO review (movieid,userid,rating,content)values(1,301,5,'너무 재밌어요!'); SELECT m.title, count(*) as review_cnt, avg(r.rating) rating_avgFROM movie m join review r on r.movieid =m.id group by r.id order by review_cnt, rating_avg DESClimit 0, 25; -- 즐겨찾기 하는 SQL-- 내 (301)가 .. 2024. 12. 8.
스키마 설계 - 인스타 더보기-- 가장 오래된 회원 5명을 찾으세요.SELECT *FROM usersorder by created_atlimit 5;  -- 회원가입을 가장 많이 하는 요일은?SELECT DAYNAME(created_at ) day, count(*) cntFROM users u group by dayorder by cnt desc;  -- 회원가입은 했지만, 사진은 올린적 없는 유령회원의 데이터를 가져오세요.SELECT *FROM users u left join photos p on p.user_id =u.id where p.id is null; -- 유령 회원의 수는?SELECT count(*)FROM users u left join photos p on p.user_id = u.id where p.id is.. 2024. 12. 8.
스키마 설계 - 카페 리뷰 서비스 더보기 -- 화면을 보고, 데이터베이스 스키마를 설계하세요.-- 화면에 필요한 SQL문을 작성하세요. -- 회원가입 화면INSERT into user (email,password,nickname)values ('abc@mail.com','1234','홍길동'); -- 로그인 화면SELECT *FROM userWHERE email ='fglover@howard.com'; -- 카페 리스트 화면-- 카페 갯수는 20개씩 가져옵니다.필요 컬럼: 카페이름, 주소, 설명, 평균별점SELECT c.id ,c.name ,c.address, c.description , IFNULL(avg(r.rating),0) avg_rating FROM cafe c left join review r on c.id =r.cafe_id.. 2024. 12. 8.
스키마(Schema)의 개념과 특징 스키마란데이터베이스의 구조와 제약조건에 대해 전반적인 명세를 기술한 것개체의 특성, 속성, 개체 간의 관계, 및 이러한 데이터가 유지해야 할 제약조건들을 형식 언어로 정의한 구조.스키마의 특징데이터 사전에 저장됨데이터 사전: 시스템 전체에서 나타나는 데이터 항목들에 대한 정보를 지정한 중앙저장소항목을 참조하는데 쓰이는 식별자, 항목에 대한 엔티티(객체)의 구성요소, 항목이 저장되는 곳 항목을 참조하는 곳 등을 포함.현실세계의 특정한 한  부분의 표현으로서 특정 데이터 모델을 이용하여 만들어짐시간에 따라 불변적인 특성 (시불변성)데이터의 구조적 특성을 의미함인스턴스에 의해 규정사용자의 관점에 따른 구분1) 개념 스키마 (Conceptual Schema)조직 전체 입장에서 데이터베이스를 정의한 것, DB의 .. 2024. 12. 8.
join 예제 3 외래 키 설정더보기-- customers table dataINSERT INTO customers (customer_name, email, address) VALUES('김철수', 'kimchulsoo@example.com', '서울시 강남구'),('이영희', 'leeyounghee@example.com', '서울시 마포구'),('박준혁', 'parkjunhyuk@example.com', '경기도 수원시'),('최수진', 'choisujin@example.com', '부산시 해운대구'),('정우진', 'jungwoojin@example.com', '대구시 수성구'),('한지수', 'hanjisu@example.com', '서울시 성동구'),('김지훈', 'kimjihun@example.com', '인천시.. 2024. 12. 3.
Join 예제 2 더보기 INSERT INTO series (title, released_year, genre) VALUES('Archer', 2009, 'Animation'),('Arrested Development', 2003, 'Comedy'),("Bob's Burgers", 2011, 'Animation'),('Bojack Horseman', 2014, 'Animation'),("Breaking Bad", 2008, 'Drama'),('Curb Your Enthusiasm', 2000, 'Comedy'),("Fargo", 2014, 'Drama'),('Freaks and Geeks', 1999, 'Comedy'),('General Hospital', 1963, 'Drama'),('Halt and Catch Fire.. 2024. 12. 3.
Join 예제 더보기INSERT INTO students (first_name) VALUES('Caleb'), ('Samantha'), ('Raj'), ('Carlos'), ('Lisa'); INSERT INTO papers (student_id, title, grade ) VALUES(1, 'My First Book Report', 60),(1, 'My Second Book Report', 75),(2, 'Russian Lit Through The Ages', 94),(2, 'De Montaigne and The Art of The Essay', 98),(4, 'Borges and Magical Realism', 89); -- grade로 정렬하세요-- first_name, title, gradeSELECT s.fi.. 2024. 12. 2.
MySQL Join On 키워드 더보기https://drive.google.com/file/d/1-vPjzkVty2qJJmb0g5qpenXUovJTP_L0/view?usp=sharinghttps://drive.google.com/file/d/1wCw7ht_zQy5ipjJRK8NDmQHNkqjk4qLX/view?usp=sharingFOREIGN KEY로 연결된 orders 테이블의 customer_id와 customer 테이블의 id-- 두 테이블의 데이터를 하나로 합쳐서 가져오세요.SELECT *FROM orders join customers ON orders.customer_id = customers.id; JOIN 구문은 ON 과 함께합니다.orders 테이블에서 customer_id와 customers 테이블의 id가 합치하는 데.. 2024. 12. 2.
MySQL Foreign Key 설정 본격적인 관계형 데이터베이스 시스템 활용하기! orders 테이블의 customer_id와 customers데이터의 id를 연결해보겠습니다.우선 컬럼에서 Foreign key 설정이 필요합니다. 연결하고자 하는 테이블 컬럼 (orders의 customer_id를 연결하고자하므로 orders 컬럼에서)Foreign keys > create new foreign key 클릭  연결하려는 테이블 customer 선택  Column - customer_id, Ref Column(참조컬럼) customer테이블의 id 선택  두 테이블이 연결 되었습니다.  이렇게 연결된 데이터는아이콘이 보입니다. 2024. 12. 2.