본문 바로가기

전체 글172

키워드 예제 2 세팅더보기INSERT INTO subscriptions (user_name, plan_name, start_date, end_date, status, price) VALUES('김철수', 'Premium', '2023-01-01', '2023-12-31', 'Active', 12000),('박준혁', 'Standard', '2023-07-01', '2023-12-31', 'Active', 9000),('최수진', 'Premium', '2023-01-01', '2023-12-31', 'Active', 12000),('김지훈', 'Premium', '2023-04-01', '2023-12-31', 'Active', 12000),('장서현', 'Standard', '2023-06-01', '2023-12-31.. 2024. 11. 29.
MySQL Having 키워드 -- 년도별 stock_quantity의 평균값이 70보다 큰 책들의 데이터를 가져와서 년도와 평균값을 보여주세요.SELECT released_year ,avg(stock_quantity) as avg_stockFROM books bgroup by released_yearwhere avg_stock >70 ;group by로 가공한 데이터를 where로 입력하면 작동 하지 않는다... 문법상 오류!  Having 절이란?그룹화된 결과 필터링: HAVING절은 GROUP BY로 그룹화된 결과 집합에 조건을 적용하여 필터링합니다.집계 함수 사용: WHERE절과 달리 HAVING절에서는 집계 함수(SUM, COUNT, AVG 등)를 사용한 조건을 지정할 수 있습니다.실행 순서: WHERE → GROUP BY .. 2024. 11. 29.
MySQL Between 키워드 -- 출간년도가 1990년에서 2015년 사이의 책 데이터를 가져오세요. 방법1) 연산기호 사용SELECT *FROM books bWHERE released_year >=1990 and released_year  방법2) Between절 사용SELECT *FROM books bWHERE released_year BETWEEN 1990 and 2015order by released_year ; 연산기호도 괜찮지만Between을 쓰면 컬럼을 한번만 적어도 되니 깔끔합니다. column_name BETWEEN lower_value AND upper_value의 형식으로 작성합니다. 2024. 11. 29.
MySQL is 키워드 SQL에서 NULL은 "알 수 없는 값" 또는 "값이 없음"을 의미합니다.그럼 Null이라는 데이터값을 찾으려면 어떤 키워드를 써야할까?-- 재고가 null인 데이터를 가져오세요.SELECT *FROM books bWHERE stock_quantity = null ????? 여태 문자, 숫자를 = 로 불러왔으니 null도 = 일까? No!SELECT *FROM books bWHERE stock_quantity is null; 이전글에서도 like는 문장이니까 not을 사용했던거처럼null은 문장이기때문에 is, is not을 사용합니다.  그렇다면 True, False같은 논리값은?Boolean을 지원하는 데이터베이스 시스템에서는 SELECT * FROM Orders WHERE IsShipped IS T.. 2024. 11. 29.
MySQL Not 키워드 -- 출간년도가 2017년이 아닌 데이터를 가져오세요. 부등호 사용 SELECT *FROM books bWHERE released_year !=2017; 연산자 사용SELECT *FROM books bWHERE released_year 2017; 완전일치하는 데이터는 와 !=로 그 데이터를 제외하고 불러올 수 있습니다.SELECT *FROM books bWHERE title ??? '%w%' 그럼 like로 불러왔던 '%w%' 같은 경우엔 제외데이터를 어떻게 불러오지? like? like =!?? Not 키워드-- 책 제목에 w가 포함되지 않은 책을 가져오세요SELECT *FROM books bWHERE title not like '%w%';Not like로 불러오면 '%w%' 를 제외한 데이터를 불러.. 2024. 11. 29.
MySQL Sub Query -- 페이지수가 가장 긴 책의 제목, 작가이름, 페이지 수를 보여주세요.SELECT title, concat(author_lname,' ',author_fname)as fullname, pagesFROM books border by pages desclimit 1;order by 후 limit 1??그런데... 페이지수가 같은 책이 여러권이면? ★pages의 max값을 구해서 그 데이터를 불러오기1)  pages의 max값을 구한 다음에SELECT max(pages)from books b ;634페이지가 제일 긴걸 확인해서 2) pages컬럼 맥스값인 634 데이터를 가져오세요.SELECT *from books bwhere pages=634;위 두 쿼리를 한번에 쓸 수 있는 서브쿼리! SELECT tit.. 2024. 11. 29.
MySQL Max()와 Min() 함수 -- 최대값 구하는 함수 max()SELECT title, max(pages)FROM books b ; -- 최소값 구하는 함수 min()SELECT title, min(pages)from books b ; -- 페이지 컬럼의 최대값, 최소값, 토탈값, 평균값을 보여주세요.SELECT max(pages), min(pages), sum(pages), avg(pages)FROM books b ; 2024. 11. 29.
개인 연습 1 https://itstory05.tistory.com/40 [실습 문제 도전] 시험 1) 200개의 테이터 및 30문제지금까지 많은 것을 배웠습니다. 실습 문제 도전하며, 복습하도록 하겠습니다.데이터베이스 생성 및 데이터 삽입  데이터 베이스 생성 및 데이터 삽입 테이블 이름: users 테이블스키마(테itstory05.tistory.com  감사하게도 같이 수강중이신 능력자 NH님께서 문제를 만들어주신걸 공유해주셔서 연습-- ㅁ가장 어린 사용자의 나이를 조회하세요. SELECT min(age)FROM users u* min() 최소값 찾기 -- ㅁ이름이 'Z'로 끝나는 사용자를 조회하세요.SELECT *FROM users uWHERE name like '%z' or name like'%Z';  -- ㅁ.. 2024. 11. 28.
MySQL Substring_index() 함수 문자열을 특정 구분자(delimiter)를 기준으로 나누고, 지정된 횟수만큼의 구분자 이전 또는 이후의 부분 문자열을 반환하는 함수 -Substringindex()email주소의 도메인은 제외하고 아이디만  얻고싶다!ex) marurun@naver.com > marurunSELECT SUBSTRING_INDEX(email,'@',1)FROM users u ; email  - 컬럼'@'  - 문자열을 나누기위한 구분자1  - 양수일 경우 구분자 기준 왼쪽부터 반환  -- 이메일의 도메인만 조회하기 SELECT SUBSTRING_INDEX(email,'@',-1)FROM users u ; 음수일경우 구분자 기준 오른쪽 반환-- ㅁ국가가 'usa'인 사용자의 이메일 도메인을 'us.com'으로 변경하세요. U.. 2024. 11. 28.