목록개발/SQL (9)
기록장

내가 쓴 답 3월에 태어난 -> TO_CHAR(DATE_OF_BIRTH,'MM')=03 여성 -> GENDER = 'W' 전화번호 없는 사람 제외 ->TLNO IS NOT NULL 멤버아이디 오름차순 ->ORDER BY MEMBER_ID

내가 쓴 답 SUBSTR은 문자열 자르는 함수임 SUBSTR(PRODUCT_CODE,1,2)는 1번째부터 2자리 잘라내라 이거임
외부 조인 외부 조인은 한쪽에만 데이터가 있어도 결과 값이 나온다 (내부 조인은 두 테이블 모두) 외부 조인의 기본 left outer join 왼쪽 테이블의 내용을 모두 출력한다라고 생각하면 쉽다 JOIN 여러 테이블을 합쳐서 하나로 보이게 만드는걸 JOIN이라고 함 SELECT intem.id, intem,name, stock.item_id, stock.inventory_count FROM item LEFT OUT JOIN stock ON item.id = stock.item_id 1 . LEFT OUT JOIN은 왼쪽에 있는 item 테이블을 기준으로 stock를 합치라는 소리임 어떻게 합치냐면 기준은 ON으로 시작하는 구문에 있음 두 테이블을 합칠 때 item 테이블의 id컬럼의 값과 stop 테..

TO_CHAR()은 날짜 숫자등의 값을 문자열로 변환 -> 얘네를 형식 변환 함수라고 한다 날짜에서 바로 숫자는 안돼 날짜 포맷 변경 (YYYY-MM-DD) SELECT TO_CHAR(SYSDATE, 'YYYYMMDD') --20221202 , TO_CHAR(SYSDATE, 'YYYY/MM/DD') --2022/12/02 TO_CHAR(SYSDATE, 'YYYY-MM-DD') --2022-12-02 TO_CHAR(SYSDATE, 'YYYY-MM-DD HH24:MI:SS) --2022-12-02 11:10:52 -관련 코딩테스트 문제 문제 설명 다음은 종합병원에 속한 의사 정보를 담은DOCTOR 테이블입니다. DOCTOR 테이블은 다음과 같으며 DR_NAME, DR_ID, LCNS_NO, HIRE_YMD,..

NVL() NVL 함수는 값이 NULL인 경우 지정값을 출력하고, 아니라면 원래 값을 그대로 출력한다. 값, 지정값의 데이터 유형을 맞춰서 생각해야 한다. 다를 경우 임의로 유형을 변형시켜 조회할 수 있으니 참고하기를 바란다. 혹은 에러가 발생할 수 있다.
문자열의 일부 글자를 검색하려면 LIKE를 사용 -> 첫글자가 '우'로 시작하는 회원이면 EX) SELECT * FROM MEMBER WHWER MEM_NAME LIKE'우%'; 한 글자와 매치하기 위해서는 언더바(_)를 사용 이름의 앞 두글자는 상관없고 뒤는 '핑크'인 회원을 검색하려면 SELECT * FROM MEMBER WHERE MEM_NAME LIKE '__핑크'; //언더바 두개임

GROUP BY 절 그룹으로 묶어주는 역활 SELECT 열_이름 FROM 테이블_이름 WHERE 조건식 GROUP BY 열_이름 HAVING 조건식 ORDER BY 열_이름 LIMIT 숫자 집계함수 GROUP와 함께 주로 사용되는 집계 함수 함수명 설명 SUM() 합계를 구합니다 AVG() 평균을 구합니다 MIN() 최소값을 구합니다 MAX() 최대값을 구합니다 COUNT() 행의 개수를 셉니다 COUNT(DISTINCT) 행의 개수를 셉니다(중복은 1개만 인정) SELECT mem_id, SUM(AMOUNT) FROM BUY GROUP BY mem_id: //각 회원(mem_id)별로 구매한 개수(AMOUNT)를 합쳐서 출력하기 위해서는 //집계 함수인 SUM()과 GROUPY BY 절을 사용하면 된다..