SELECT * FROM MEMBER WHERE NAME ='박%'
SELECT * FROM MEMBER WHERE LIKE NAME ='박%'
SELECT * FROM MEMBER WHERE NAME LIKE '박_'
SELECT * FROM MEMEBER WHERE NAME LIKE '박__'
-- 맴버 중 박씨 제외
SELECT * FROM MEMBER WHERE NAME NOT LIKE ='박%'
-- 맴버 이름중 '박' 이 들어간 것
SELECT * FROM MEMEBETR WHERE NAME LIKE ='%박%'
전화번호'만'을 검색하기 위해선 맨 처음에 ^ 기호와 맨 끝에 $ 기호를 붙여줌
SELECT * NOTICE WHERE REGEXP_LIKE(TITLE, 01[016-9]-\d{3,4}-\d{4})
// NOTICE 테이블에서 TITLE 열 내용에 전화번호 규칙이 들어간 행을 찾음
\w+@\w+.(org|net|com)
SELECT * FROM MEMBER WHERE ROWNUM BETWEEN 1 AND 5 = O
SELECT * FROM MEMBER WHERE ROWNUM BETWEEN 6 AND 10 = X
ROWNUM은 연산 결과 중 자동적으로 부여되는 수 이기 때문에 BETWEEN 6 AND 10 을하면 아무것도 출력되지 않는다 왜냐 1부터 차례대로 쌓이는데 6부터 쌓은다니 조건에 맞지 않기 때문이다
SELECT * FROM (SELECT ROWNUM AS NUM, NOTICE.* FROM NOTICE) WHERE NUM BETWEEN 1 AND 5
SELECT * FROM (SELECT ROWNUM AS NUM, NOTICE.* FROM NOTICE) WHERE NUM BETWEEN 6 AND 10
SELECT ROWNUMB AS NUM , NOTICE.* FROM NOTICE 를 () 로 감싸주었기에 먼저 연산결과 값이 나오고 그 나온 연산결과값 즉 NUM 으로 출력하니 정상적으로 출력된다.
SELECT DISTINCT AGE FROM MEMBER
FROM에서 격자형 데이터를 준비하고 WHERE에서 필터링 하고 GROUP BY에서 집계하고 집계된 이후 정렬할 것이 있으면 HAVING그런 작업..
SELECT * FROM MEMBER ORDER BY NAME DESC
SELECT * FROM MEMBER WHERE LIKE '박%' ORDER BY AGE ASC
HIT라는 컬럼을 내림차순으로 정렬 후 중복되는 행이 있을 경우, REGDATA를 기준으로 내림차순
SELECT * FROM NOTICE ORDER BY HIT DESC, REGDATA DESC