SubQuery는 SQL을 작성하다 보면 빠질 수 없는 문법입니다. 서브쿼리에 종류와 특징을 파악하고 적절하게 사용할 줄 안다면 큰 도움이 될 것입니다. SubQuery의 종류 1. 일반 서브쿼리 : 하나의 변수처럼 사용합니다. 쿼리 결과에 따라 다음과 같이 구분됩니다. - 단일행 서브쿼리 (SingleRow Subquery) : 쿼리 결과가 단일행만을 리턴하는 서브쿼리입니다. - 다중행 서브쿼리 (MultieRow Subquery) : 쿼리 결과가 다중행을 리턴하는 서브쿼리입니다. - 다중칼럼 서브쿼리 (MultieColumn Subquery) : 쿼리 결과가 다중칼럼을 리턴하는 서브쿼리입니다. 2. 인라인 뷰 (Inline View) : 뷰 형태로써 테이블을 리턴하는 서브쿼리입니다. (테이블 대체) ..
문자열을 자르는 함수에 대해 소개하겠습니다. 먼저 설명에 사용될 테이블입니다. NO NAME MAIL 1 Aiden Aiden@google.com 2 Luke Luke@naver.com 3 John John@daum.net 1. Oracle 에서는 SUBSTR 함수를 사용합니다. - SUBSTR( 문자열, 시작 위치, 길이 ) >> 문자열에서 시작 위치부터 길이만큼 출력합니다. SELECT SUBSTR(MAIL, 1, 3) // MAIL의 1번째부터 3글자 출력 결과 : Aid , SUBSTR(MAIL, 1, 4) // MAIL의 1번째부터 4글자 출력 결과 : Aide , SUBSTR(MAIL, 2, 3) // MAIL의 2번째부터 3글자 출력 결과 : ide FROM TABLE WHERE NAME =..
데이터베이스를 사용하다면 날짜를 문자열로 또는 문자를 날짜로 바꿀 때가 있다 그럴 때 사용하는 내용이다 먼저 오라클에서 사용하는 함수이다 숫자 또는 날짜 데이터를 문자형으로 변경하는 TO_CHAR(데이터, '출력 형식') SELECT TO_CHAR(SYSDATE, 'YYYY-MM-DD') - 오늘 날짜의 출력 형식을 결정해서 문자로 리턴 SELECT TO_CHAR(100000, '00000000') - 결과 : 00100000 자릿수를 8 자리로 고정한 형태임 여러 형식을 설정할 수 있다 자세한 내용은 따로 검색해보기를 다음은 문자를 날짜형으로 변환하는 TO_DATE(데이터, '날짜 형식') SELECT TO_DATE('20080101', 'YYYY/MM/DD') - 20080101이라는 문자를 2008..
문자가 포함되어있는지 확인하는 여부에 쓰이는 함수입니다. 매우 자주 쓰임으로 꼭 알아두면 유용합니다. 1. MS-SQL에서는 CHARINDEX() 함수를 사용합니다. SELECT CHARINDEX('A', 'AIDEN') - 'AIDEN' 이라는 문자열 내에서 'A'라는 문자가 있는지 없는지 확인합니다. 있다면 문자의 위치를 리턴합니다. 결과 : 1 ( 'AIDEN'이라는 문자열중 'A'의 위치는 첫 번째이기에 1을 리턴합니다. ) * CHARINDEX('A', 'AIDEN') 이 아니라 CHARINDEX('D', 'AIDEN')이라면 3을 리턴합니다. ( D 가 3번째에 위치함. ) 'A'라는 문자가 없다면 0을 리턴합니다. 2. Oracle과 MySql에서는 INSTR() 함수를 사용합니다. SELE..
DB에서 현재시간을 가져오는 함수에 대해서 살펴보겠습니다. MS-SQL, Oracle, MySql 각각 다른 함수를 지원합니다. 1. MS-SQL의 경우 GETDATE() 함수를 지원합니다. 사용법은 아래와 같습니다. SELECT GETDATE() 결과 : 2021-06-06 11:47:000 ( 현재시간 ) SELECT 절에서만 사용하는것은 아니고 WHERE절 등 현재시간이 필요한 곳에서 어디든지 사용할 수 있습니다. SELECT * FROM TABLE A WHERE TIME_STAMP < GETDATE() - TIME_STAMP가 현재시간 이전인 데이터만 출력하겠다는 내용입니다. 2. Oracle 의경우 SYSDATE를 사용합니다. 사용법은 아래와 같습니다. SELECT SYSDATE FROM DUA..
SQL 그룹 함수인 MAX / MIN / COUNT의 관한 포스팅입니다 아래의 테이블을 이용해 설명하겠습니다 NAME CLASS SALARY 철수 A 100 영희 B 200 훈이 B 400 정훈 A 300 현우 A 350 MAX, MIN MAX( EXPR ) - EXPR중에서 최댓값을 반환하는 함수이다 MIN( EXPR ) - EXPR중에서 최솟값을 반환하는 함수이다 SELECT MAX(SALARY) , MIN(SALARY) FROM TABLE - SALARY칼럼의 가장큰 값과 가장 작은 값을 출력해 달라는 쿼리이다 MAX( SALARY ) MIN( SALARY ) 400 100 각각 가장큰 값과 가장 작은 값인 400 / 100 이 출력되었다 MAX와 MIN 은 그룹 함수로서 GROUP BY 절을 이용..