본문 바로가기

DB55

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.
MySQL Avg() 함수 컬럼 데이터의 평균을 구해주는 함수 Avg() SELECT avg(pages)FROM books; -- 작가별로 자신이 쓴 책의 평균 페이지수는?SELECT author_lname, avg(pages)as page_avgFROM booksgroup by author_lnameorder by page_avg desc; 2024. 11. 28.
MySQL Sum() 함수 테이블의 특정 숫자 열에 있는 값들의 합을 계산하는 데 사용되는 집계 함수 Sum() -- 모든 pages의 합계는?SELECT sum(pages)FROM books; -- 각 작가별로 자신이 쓴 책의 페이지수를 더하면?SELECT concat(author_fname,' ',author_lname)as full_name,sum(pages)as sumpagesFROM booksgroup by concat(author_fname,' ',author_lname); concat과 group by, sum을 적절히 활용하면 가장 많은 글을 쓰신 작가님 확인도 가능하다~ 2024. 11. 28.
MySQL Count() 함수 -- 데이터의 갯수를 세는 함수 : count()-- 책은 총 몇권인가요SELECT count(*)FROM books;-- (author_lname) 작가는 총 몇명인가요SELECT count(DISTINCT author_lname)FROM books;-- 책 제목에 the가 들어간 책은 몇권인가요SELECT count(*)FROM bookswhere title like '%the%';와일드카드 문자 알아보기 그러면... 작가별로 몇권의 책을 작성했나요는?~별로? count로 어떻게쓰지?group by 키워드 MySQL group by 키워드-- ~별로 묶에서 처리하는 경우 : 집계하기 group by 키워드-- author_lname 별로 몇권의 책을 썼는지,  작가의 author_lname과 책의 개.. 2024. 11. 28.
MySQL Like 키워드 -- 문자열 안에 원하는 문자열이 들어있는지 검색하는 키워드 like와일드문자와 함께 활용!%0개 이상의 임의의 문자를 나타냅니다a%: 'a'로 시작하는 모든 문자열%a: 'a'로 끝나는 모든 문자열%a%: 'a'를 포함하는 모든 문자열_ (언더스코어)정확히 하나의 임의의 문자를 나타냅니다c_t: 'cat', 'cot', 'cut' 등과 일치[] (대괄호)대괄호 안의 문자 중 하나와 일치[abc]: 'a', 'b', 또는 'c' 중 하나와 일치[a-z]: 소문자 알파벳 중 하나와 일치[^] (대괄호와 캐럿)대괄호 안의 문자를 제외한 모든 문자와 일치합니다[^0-9]: 숫자가 아닌 모든 문자와 일치 -- 책제목에 the가 들어있는 책 데이터를 가져오세요.SELECT *FROM bookswhere title.. 2024. 11. 28.
MySQL group by 키워드 -- ~별로 묶에서 처리하는 경우 : 집계하기 group by 키워드-- author_lname 별로 몇권의 책을 썼는지,  작가의 author_lname과 책의 개수를 보여주세요.SELECT author_lname, count(*)FROM booksgroup by author_lname;-- group by로 묶어진 author_lname 컬럼은 고유값으로 집계됩니다.  -- 년도별로 각각 몇권의 책이 출간되었는지, 년도와 그 년도에 출간된 책의 갯수를 알려주세요.SELECT released_year, count(*)as book_cntFROM booksgroup by released_yearorder by released_year desc; * GROUP BY 절에서 사용하는 열은 실제 테이블의 열이.. 2024. 11. 28.
MySQL Limit 키워드 -- 데이터를 끊어서 가져오는 방법 : limit 키워드 -- books 테이블의 데이터를 5개만 가져오세요.SELECT *FROM books blimit 5; 5개 데이터만 보여줍니다. 그럼 그 다음 데이터는? 한꺼번에 모든데이터를 보여주려니 로딩 너무길다!!5개씩 끊어서 보여주자! -- offset = 데이터를 가져오는 시작점-- 오프셋숫자=첫번째데이터인덱스는 0, 2번째 데이터는 1-- limit 0,5에서 0은 처음부터라는 뜻, 두번째의 5는 5개씩 가져오라는뜻 -- books테이블의 데이터를 처음부터 5개 가져오세요.SELECT *FROM books blimit 0,5;처음 데이터 0 부터 5개를 불러옵니다.  -- 그 다음의 5개도 가져오세요.SELECT *FROM books blimit 5,.. 2024. 11. 28.
MySQL Order by키워드 오름차순으로 정렬하는 키워드 order by-- author_lname으로 정렬해서 가져오기SELECT *from books bORDER by author_lname;SELECT *FROM books border by author_lname asc ;asc = 오름차순입니다. 생략하면 오름차순으로 정렬됩니다.내림차순으로 가져오기 DescSELECT *FROM books border by author_lname desc;-- 풀네임을 내림차순으로 정렬SELECT *, concat(author_fname ,' ',author_lname)as full_nameFROM books border by full_name desc;마찬가지로 함수와 조합하여 사용 가능합니다.  -- 출간년도 내림차순으로 정렬하여서 책제.. 2024. 11. 28.
키워드 예제 1 세팅데이터베이스test6테이블books컬럼id - int, pri, not null, auto incrementtitle - varchar(100)author_fname - varchar(100)author_lname - varchar(100) released_year - intstock_quantity -intpages - int 더보기함수 예제 1과 동일 데이터에 아래 데이터만 추가되었습니다.insert into books(title, author_fname, author_lname, released_year, stock_quantity,pages)values('10% Happier', 'Dan', 'Harris', 2014, 29, 256),('fake_book', 'Freida', 'Harris'.. 2024. 11. 28.