-with rollup - 2개 이상의 컬럼을 이용하여 그룹을 짖는 경우 그룹별 중갑 합계 (집계함수에 대해서)를 표시 마지막 행에는 전체 합계가 표시됨 SELECT prod_lgu, prod_name, sum(cart_qty) total FROM prod LEFT OUTER join cart ON prod_id = cart_prod AND substr(cart_no,1,4)='2005' GROUP BY prod_lgu, prod_name with rollup -GROUP BY rollup- SELECT prod_lgu, prod_name, sum(cart_qty) total FROM prod LEFT OUTER join cart ON prod_id = cart_prod AND substr(cart_no..
outer join 특정 테이블 전체에 대한 집계를 하고자 할때 사용 outer join 종류 left outer join: 테이블 순서중 왼쪽에 위치한 테이블 전체 right outer join: 테이블 순서중 오른쪽에 위치한 테이블 전체 full outer join: 왼쪽 오른쪽 전체(오라클 db에서만 사용가능) outer join 개념 inner join 을 만족해야 함 (inner join 개념을 그대로 적용) left or right 기준으로 같으면 같은 조건 대로 조회, 다르면 null 조회 outer join은 표준 방식으로만 사용해야하며 일반조건은 무조건 on() 내부에 작성해야함 where 절 사용하시면 outer 전체 개념이 적용안됩니다 /* slef join 으로 처리하기 --셀프 조..
가상 테이블 개념이 적용됨 (Inline view) from 절 뒤에 테이블 대신에 sub query를 사용함 sub query의 select한 행렬 결과를 메모리에 적재시켜서 사용 행렬의 데이터를 테이블과 동일한 개념으로 사용하기 때문에 가상 테이블이라고 한다. 가상 테이블은 별칭을 이용해서 테이블 이름처럼 사용한다. 테이블에 별칭을 붙일때는 대문자 , 컬럼에 별칭을 붙일때는 소문자를 쓴다. SELECT MAX(total) AS 'max', MIN(total) AS 'min' FROM (SELECT mem_id, mem_name, sum(prod_sale*cart_qty) AS 'total' FROM member INNER JOIN cart ON mem_id = cart_member INNER JOIN..
민경동씨는 자신이 개발한 메일 전송 API 의 첫 대상으로 스승님에게 안부 인사를 담아 메일을 보내려고 합니다. 그 동안 갈고 닦은 java 실력을 뽐낼 생각에 들뜬 나머지 물을 엎질러 버렸고, 애석하게도 전에 받아 두었던 스승님의 명함이 젖어 그 내용을 알아볼 수 없게 되었습니다. 학교에 연락하여 스승님의 연락처를 물어보았지만 학교측에서는 개인 신상정보라 직접 알려줄 수 없지만 교육자료로 활용되었던 DB 데이터를 주면서 여기에 스승님의 이메일 또한 포함되어 있을 것이라며 스승님의 제자라면 다음 문제를 풀 수 있을 것이고 원하는 이메일 주소도 얻을 수 있을 것이라 합니다. 학교에서 받은 DB 테이블 -buyer, -buyprod, -cart, -lprod, -member, -prod 물건이 입고된 날 입..
SELECT CONCAT ( REPLACE(SUBSTRING(mem_name,1,1), '이','리'), SUBSTRING(mem_name,2) )AS mem_name FROM member WHERE SUBSTRING( mem_name,1,1)='이'; SELECT prod_name, round(prod_cost/prod_sale,2) AS 'prod_cost%' FROM prod; SELECT ROUND(1.25,1); SELECT FROM member WHERE mem_like = '수영'; SELECT (SELECT ROUND((prod_cost/prod_sale) *100 ,2) FROM prod WHERE prod_id = cart_prod) AS mm, (SELECT prod_name FROM..
1 별칭사용하기 별칭을 사용하는 이유 : 긴 단어를 줄여서 사용하는데 좋음 sql에서 별칭을 사용할 수 있는 곳 컬럼명 대신 별칭 사용 : 컬럼 명 뒤에 as 별칭 예시 ) Select mem_id as id 테이블 명 대신 별칭 사용 :테이블 명 뒤에 바로 별칭을 작성 예시 ) from member mem 테이블 별칭을 언제 사용하느냐? 이름이 길때, join할때, 첫음절을 대문자로 1select 2from 3테이블 메모리에 올리기 4where조건 5and 조건 또는 or 조건 6조회할 칼럼 7정렬 like '문자' : 형식이 일치하는지 '_a%' 두번째 글자가 a인 경우, '%a%'a가 포함된경우 beetween A and B : A 이상 B 이하의 범위 조건 날짜 타입 또는 숫자 타입에 대한 범위 ..
data base 서버로 오라클을 많이 사용한다. 개발자를 위한 무료버전이 있다고 해서 오라클 환경을 구축해 보았다. 저는 21 Express Edition XE을 다운 받았네요 https://www.oracle.com/kr/database/technologies/xe-downloads.html Oracle Database Express Edition (XE) Downloads | Oracle 대한민국 Support Oracle Database Express Edition (XE) is a community supported edition of the Oracle Database family. Please go to the Oracle Database XE Community Support Forum fo..
* 데이터베이스 - 데이터를 관리하는 곳 - 데이터 베이스는 국제 표준에 의해서 만들어진다. 데이터를 파일이 아닌 데이터 베이스로 관리하는 이유 1. 데이터 무결성 및 일관성: 데이터베이스는 트랜잭션 관리를 통해 데이터 무결성을 보장함. 트랜잭션은 성공하거나 실패하며, 실패 시 롤백하여 데이터베이스를 이전 상태로 되돌린다. ->데이터의 일관성을 유지 가능 2. 동시성 제어: 다수의 사용자가 동시에 데이터에 접근할 때 충돌을 방지하고, 동시에 여러 작업을 수행할 수 있도록 하는 동시성 제어가 가능. 여러 사용자가 동시에 시스템을 사용할 때 데이터의 무결성을 보장하는 데 중요! 3. 데이터 보안: 데이터베이스 시스템은 다양한 수준의 보안 기능을 제공하여 불법적인 접근으로부터 데이터를 보호한다. 액세스 권한,..