https://school.programmers.co.kr/learn/courses/30/lessons/298517 프로그래머스코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.programmers.co.kr 정답SELECT ID, LENGTH FROM FISH_INFO ORDER BY IFNULL(LENGTH,10) DESC, IDLIMIT 10; IFNULLhttps://lavender1122.tistory.com/249 [MySQL & ORLACLE] IFNULLcolumn의 값이 null 반환 할때, 다른 값으로 출력 할 수 있도록 하는 함수IFNULL(컬럼명, "NULL일_경우_대체값") 예제L..
DB
LIMIT 개수 N으로 지정된 숫자만큼 행 출력OFFSET : 몇 번째 행부터 출력할지 결정/ 생략시 0부터 시작SELECT *FROMLIMIT 숫자; 예시10개만 출력하세요SELECT ID, LENGTH FROM FISH_INFO ORDER BY IFNULL(LENGTH,10) DESC, IDLIMIT 10;LIMIT OFFSETSELECT *FROM BOOKLIMIT 1 OFFSET 3; OFFSET 생략'LIMIT 시작 인덱스, 개수' 형태로 들어간다SELECT *FROM BOOKLIMIT 1, 3;
column의 값이 null 반환 할때, 다른 값으로 출력 할 수 있도록 하는 함수IFNULL(컬럼명, "NULL일_경우_대체값") 예제LENGHT 가 NULL 이면 10으로 처리 하는 경우SELECT *FROM FISH_INFOORDER BY IFNULL(LENGHT,10) DESC
MEMBER 테이블 (부모)컬럼명 : username, password,enabe 있어야된다enable 컬럼명은 기본 값으로 '1' 있어야 한다MEMBER_AUTH 테이블컬렴명 : USER_ID,AUTH MEMBER_AUTH 값 넣기SELECT USER_ID,'ROLE_MEMBER'FROM MEMBER;INSERT INTO MEMBER_AUTH(USER_ID, AUTH)SELECT USER_ID,'ROLE_MEMBER'FROM MEMBER;COMMIT;MEMBER 테이블 , MEMBER_AUTH 테이블 joinSELECT A.USER_ID, A.USER_NAME, A.PASSWORD, A.REG_DATE, A.COIN, A.ENABLED , B.AUTHFROM MEMBER A, MEM..
템플릿SELECT A.컬럼명1, A.컬럼명2 , B.컬럼명3, B.컬럼명4FROM 테이블명1 A, 테이블명2 BWHERE A.테이블명1기본키 = B.테이블명2기본키AND A.테이블명1기본키 = '검색어'ORDER BY B.테이블명2;예시SELECT A.COM_CODE, A.COM_CODE_NM , B.COM_CODE_DETAIL, B.COM_CODE_DETAIL_NMFROM COM_CODE A, COM_CODE_DETAIL BWHERE A.COM_CODE = B.COM_CODEAND A.COM_CODE = 'natn'ORDER BY B.COM_CODE_DETAIL;
템플릿SELECT T.*FROM(SELECT ROW_NUMBER() OVER(ORDER BY 기준_컬럼명) RNUM ,컬럼1,컬럼2,컬럼3,컬럼4 FROM 테이블명 WHERE 1=1)TWHERE T.RNUM BETWEEN 시작숫자 AND 끝숫자;예시SELECT T.*FROM(SELECT ROW_NUMBER() OVER(ORDER BY EMP_NO) RNUM ,EMP_NO, EMP_NAME, EMP_ADDRESS, EMP_TELNO, EMP_SALARY, FILENAME FROM EMPLOYEE WHERE 1=1)TWHERE T.RNUM BETWEEN 1 AND 10;페이징 처리할 때 사용 SELECT T.* FROM ( SELECT ROW_NUMBER() OVER..
상관관계 서브쿼리 : main 쿼리의 특정 컬럼의 기본키 데이터가 sub쿼리의 조건으로 사용되고 sub쿼리의 select 결과 다시 main쿼리의 조건으로 서로 사용됨SELECT *FROM ATTACHWHERE GLOBAL_CODE='P591';SELECT MIN(B.SEQ)FROM ATTACH B, ATTACH AWHERE B.GLOBAL_CODE=A.GLOBAL_CODE SELECT A.global_code, A.seq, A.filename, A.file_size, A.content_type, A.reg_dateFROM attach AWHERE A.global_code='P591' AND A.SEQ=1 ; 원본--상관관계 서브쿼리SELEC..
예시예시1)DECLAREBEGIN --I : 자동 선언 정수형 변수 FOR I IN 10..127 LOOP INSERT INTO CONT_US(CU_CODE, NAME, EMAIL, SUBJECT, MESSAGE) VALUES( (SELECT NVL(SUBSTR(MAX(CU_CODE),1,2) || TRIM(TO_CHAR(SUBSTR(MAX(CU_CODE),3) + 1,'000')),'CU001') FROM CONT_US) ,'개똥이' || I , 'test@test.com' ,'제목' || I , '내용' || I)..
템플릿SELECT NVL(SUBSTR(MAX(컬럼),1,2) || TRIM(TO_CHAR(SUBSTR(MAX(컬럼),3) + 1,'000')),'컬럼_시작')FROM 테이블명예시SELECT NVL(SUBSTR(MAX(CU_CODE),1,2) || TRIM(TO_CHAR(SUBSTR(MAX(CU_CODE),3) + 1,'000')),'CU001')FROM CONT_US;Max(컬럼) ⇒ 최대값 찾기SELECT MAX(CU_CODE)FROM CONT_US;SUBSTR('문자열',시작위치,길이) 문자열 자르기SELECT SUBSTR(MAX(CU_CODE),1,2)FROM CONT_US; SELECT SUBSTR(MAX(CU_CODE),3)FROM CONT_US;문자+..