SELECT FROM member;
SELECT email, age, adress FROM memeber;
SELECT FROM member WHERE email = 'taehos@hanmail.net;
USE [DB이름];
SELECT * FROM memeber;
SELECT FROM member WHERE age >= 27;
SELECT FROM member WHERE age BETWEEN 30 AND 39;
SELECT * FROM member WHERE addrea LIKE '서울%';
서울로 시작하는 문자열
SELECT * FROM member WHERE addrea LIKE '%고양시%';
고양시가 포함된 모든 문자열
SELECT * FROM memeber WHERE age IN (20,30);
SELECT * FROM memeber WHERE email LIKE 'c__@%;
이메일이 c로 시작하고 6자인 회원들
SELECT FROM member WHERE YEAR(birthday) = '1992';
SELECT FROM member WHERE MONTH(sign_up_day) IN (6,7,8);
SELECT * FROM member WHERE DAYOFMONTH(sign_up_day) BETWEEN 15 AND 31;
SELECT email, sign_up_day, DATEDIFF(sign_up_day, '2019-01-01') FROM member;
SELECT email, sign_up_day, DATEDIFF(sign_up_day, CURDATE()) FROM member;
SELECT email, sign_up_day, DATEDIFF(sign_up_day,birthday) / 365 FROM member;
SELECT email, sign_up_day, DATE_ADD(sign_up_day, INTERVAL 300 DAY) FROM member;
SELECT email, sign_up_day, DATE_SUB(sign_up_day, INTERVAL 250 DAY) FROM member;
#UNIX_timestamp
유닉스 계열의 운영체제에서 날짜와 시간을 나타내는 값
1970년 1월 1일을 기준으로 몇 초가 지난건지
SELECT email, sign_up_day, UNIX_TIMESTAMP(sign_up_day) FROM member;
SELECT email, sign_up_day, FROM_UNIXTIME(UNIX_TIMESTAMP(sign_up_day)) FROM member;
SELECT * FROM menmber
WHERE gender = 'm'
AND addressl LIKE '서울%'
AND age BETWEEN 25 AND 29;
SELECT * FROM menmber
WHERE MONTH(sign_up_day)
BETWEEN 3 AND 5
OR MONTH(sign_up_day)
BETWEEN 9 AND 12;
AND, OR 같이 사용할때는 AND의 우선순위가 더 높음
->우선순위를 고려하기 보다는 각 조건에 따라 괄호를 사용하는 습관을 들이자!
%
임의의 길이의 문자열
_
한자리수
어떤 문자에 부여된 특정한 의미로 해석되는게아니라 단순한 문자처럼 취급하는 행위
(역슬래시)로 사용한다.
SELECT * FROM member WHERE sentence LIKE '%\'%';
SELECT * FROM member WHERE sentence LIKE '%_%';
SELECT * FROM member WHERE sentence LIKE '%\"%\"%';
Mysql 기본 설정에서는 대소문자 구분을 안하게 되어있다
ci case-insensitive의 약자로 문자열이 동일한지 확인할 때, 대소분자 구별을 하지않겠다는 의미
이러한 설정에 상관없이 늘 대소문자를 구분하도록 하는 BINARY가 있다
SELECT FROM member WHERE sentence LIKE BINARY '%G%';
SELECT FROM member WHERE sentence LIKE BINARY '%g%';
SELECT * FROM member
ORDER BY height;
키가 작은사람부터 큰사람 까지 정렬(오름차순)
오름차순 기본값
SELECT * FROM member
ORDER BY height ASC;
내림차순
SELECT * FROM member
ORDER BY height DESC;
SELECT * FROM member
WHERE gender = 'm'
AND weight >= '70'
ORDER BY height ASC;
SELECT * FROM member
ORDER BY YEAT(sign_up_day) DESC, email asc;
SQL의 작성 방식은 정해진 구조와 형식에 따라야한다. 이를 따르지 않으면 SQL문을 실행했을 때 에러가 난다.
링크
INT타입과 달리 TEXT타입은 정렬방식이 다르다.
TEXT타입은 한문자씩 순서를 비교해 정렬을 수행된다.
숫자값이 담긴 컬럼이 문자열형일때는 해당 컬럼의 값들의 데이터 타입을 일시적을 변경해야한다.
SELECT * FROM member ORDER BY CAST(data AS signed) ASC;
여기서 signed는 양수와 음수를 포함한 모든 정수를 나타낼 수 있는 데이터타입이고 decimal은 소수점이 있는 수를 나타내는 타입이다.
SELECT * FROM member
ORDER BY sign_up_day DESC
LIMIT 10;
SELECT * FROM member
ORDER BY sign_up_day DESC
LIMIT 8,2;
8번째 row부터 2개의 row을 출력
cf) row는 0부터 카운트됨