사용할 테이블 참고 ...!!!
https://ryureeru.tistory.com/6
alias, JOIN
실습 전 사용할 테이블 만들어줍시다 ~ alias 예약어이시다 how? [테이블명] as [지정할 예약어] [예약어].[컬럼] as [컬럼을 다르게 보이게 하고 싶을 때 쓰는 이름] select m.member_type as 회원구분 , m.user.
ryureeru.tistory.com
DBMS 내장 함수
..중에서 실습했던 거 정리 ㅎㅎ
select member_type, user_id, password, name,
case
when length(password) > 2
then concat(substring(password, 1, 2), '**')
else ''
end as password_mask
from members;
- length 함수로 password 데이터들의 길이를 추출하고,
- case 문으로 2 이상이면 substring 함수로 password에서 1~2 번째를 가져오고,
- concat 함수로 ** 문자를 붙여주었다
- 지정될 컬럼명은 password_mask로
select register_date
, date_format(register_date, %Y.%m.%d') as dt_format
from members_detail;
- 날짜를 문자열로 바꾸기 위해 date_format 함수 사용
- 데이터 표시 포맷은 %Y.%m.%d
select '20220321' as dt_string
, str_to_date('20220321', '%Y%m%d) as dt_date
, date_add(str_to_date('20220321', '%Y%m%d), interval 1 month) as dt_date2
from dual;
- 문자열을 날짜로 바꾸기 위해 str_to_date 함수 사용
- date_add 함수로 날짜(문자열을 날짜로 바꾸어준 것)를 +1 month 해서 20220421로 !!
select now() as now
, date_format(now(), '%Y-%m-01') as start_date
, date_add(str_to_date(date_format(now(), '%Y-%m-01'), %Y-%m-%d), interval 1 month),
interval -1 day) as end_date
from dual
- 월초월말 날짜 구하기를 해보자~
- now()로 현재 날짜 불러오고,
- date_format 함수로 %Y-%m-01 포맷의 문자열로 변환하고 (1일로 설정됐겠쥬 ? ㅎㅎ),
- str_to_date 함수로 문자열을 다시 날짜로,
- date_add 함수로 +1 month를 한 후, 다시!!!!!!
- date_add 함수로 -1 day를 해주면 완성 !!!!!!! (2월 같은 경우 때매)
페이징 처리
- mysql, mariadb -> limit
- oracle -> rownum
- mssql -> offset, fetch
현재 나는 MariaDB를 사용 중
1. limit
select *
from members
limit 0, 10
;
- 첫 번째(인덱스 0부터 시작)부터 10개를 가져오겠다
select c.code, c.company_name, c.eng_company_name, c.category
, row_number() over (order by c.code desc) as row_index
from company c
order by c.code desc
limit 30, 10
;
- 다른 테이블(company) 예시
2. select from where로 싸버리기
select *
from
(
select *
from
(
select c.code, c.company_name, c.eng_company_name, c.category
, row_number() over (order by c.code desc) as row_index
from company c
order by c.code desc
) t1
where row_index <= 30
) t2
where row_index > 20
;
- 이것도 다른 테이블(company) 예시
'DB' 카테고리의 다른 글
[DB] 대용량 sql 파일 임포트시키기 (0) | 2022.09.23 |
---|---|
[DB 개념] 함수/프로시저/트리거 (2) | 2022.09.21 |
[DB 개념] VIEW 테이블 (0) | 2022.09.21 |
[DB 개념] alias/JOIN (0) | 2022.09.21 |
[DB Error] 한글 입력 오류 (0) | 2022.09.20 |