일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- ABAP SELECT
- Data Element
- ABAP 구조체 선언
- ABAP INTO
- ABAP SQL
- Internal Table 헤더라인
- 인터널테이블
- ABAP 헤더
- ABAP Internal Table
- ABAP OPEN SQL
- OPEN SQL
- abstrac class
- Internal Table header
- 헤더라인
- ABAP UPDATE
- ABAP WHERE
- 싱글톤 패턴 사용이유
- ABAP FROM
- abap
- sap
- ABAP TYPE 구조체
- Nested structure
- ABAP INSERT
- ABAP MODIFY
- java
- 인터널 테이블 생성
- Internal Table
- ABAP DELETE
- ABAP DATA 구조체
- DOMAIN
- Today
- Total
목록SQL (19)
행복한 째아의 개발 블로그
HTML 삽입 미리보기할 수 없는 소스 -- 1. MY_DEPT의 구조와 같은 테이블을 생성하는 SQL 구문을 작성하세요 DEPT_NO DEPT_NAME DEPT_LOC DEPT_TELNO 10 SALES SEOUL 02-671-1111 20 FINANCE SEOUL 02-862-2222 30 HR BUSAN 051-111-1111 40 PURCHASE BUSAN 051-222-2222 50 MANAGEMENT SEOUL 02-383-3333 CREATE TABLE MY_DEPT ( DEPT_NO TINYINT NOT NULL, DEPT_NAME VARCHAR(20) NOT NULL, DEPT_LOC VARCHAR(10) NOT NULL, DEPT_TELNO VARCHAR(12) NOT NULL); --..
/* Data Type (MySQL) 책 237P 1. 숫자 데이터 TINYINT SMALLINT INT FLOAT DECIMAL(M, D): M은 전체 길이, D는 소수점 이하 자리수 / 실수형에서 많이 사용 2. 문자 데이터 CHAR(N): 고정길이 문자형 / 원하는 길이만큼의 입력을 유도할 때 많이 사용 VARCHAR(N): 가변길이 문자형 / MySQL은 기본적으로 CHAR, VARCHAR가 모두 UTF-8 형태이므로 영문, 한글 등에 따라 내부적으로 크기가 달라지지만 사용자 입장에서는 한영 구분없이 입력할 수 있다고 생각하면 됨 LONGBLOB 3. 날짜 데이터 DATE DATETIME YEAR */ /* SQL DDL(Data Definition Language): 데이터 정의 CREATE A..
-- ### equi join ### -- 1. emp와 dept Table을 JOIN하여 부서번호, 부서명, 이름, 급여를 출력하라. SELECT d.deptno, d.dname, e.ename, e.sal FROM emp e, dept d WHERE e.deptno = d.deptno; -- 2. 이름이 ‘SMITH’인 사원의 부서명을 출력하라. SELECT e.ename, d.dname FROM emp e, dept d WHERE e.deptno = d.deptno AND e.ename = 'SMITH'; -- ### outer join ### -- 3. dept Table에 있는 모든 부서를 출력하고, emp Table에 있는 DATA와 JOIN하여 -- 모든 사원의 이름, 부서번호, 부서명, 급..
/* KEY 외래키를 가진 테이블이 자식테이블 = 2000 AND e.deptno = 30; -- 뉴욕에서 근무하는 사원의 이름과 급여를 검색 SELECT e.ename, e.sal FROM emp e, dept d WHERE e.deptno = d.deptno AND d.loc = 'NEW YORK'; -- 2. SELF 조인 (하나의 테이블을 자체적으로 조인함) -- 'BLAKE'의 상사 이름을 검색 SELECT e.ename 사원, m.ename 상사 FROM emp e, emp m WHERE e.mgr = m.empno AND e.ename = 'BLAKE'; /* 3. outer 조인 A, B 테이블을 JOIN 할 경우, 조건에 맞지 않는 데이터도 표시하고 싶을 때 OUTER JOIN을 사용한다..
-- ### SubQuery ### -- 1. ‘SMITH'의 직무와 같은 사람의 이름, 부서명, 급여, 직무를 출력하라. SELECT e.ename, d.dname, e.sal, e.job FROM emp e, dept d WHERE e.deptno = d.deptno AND job = ( SELECT job FROM emp WHERE ename = 'SMITH' ); -- 2. ‘JONES’가 속해있는 부서의 모든 사람의 사원번호, 이름, 입사일, 급여를 출력하라. SELECT empno, ename, hiredate, sal FROM emp WHERE deptno = ( SELECT deptno FROM emp WHERE ename = 'JONES' ); -- 3. 전체 사원의 평균급여보다 급여가 ..
/* 서브쿼리란 하나의 SQL문 안에 포함되어 있는 또 다른 SQL문을 말함 서브쿼리는 ?에 해당하는 부분을 먼저 검색하는데 사용된다. 일반적으로 서브쿼리가 먼저 실행되고 그 결과를 사용하여 메인 쿼리에 대한 질의 조건이 완성된다. 서브쿼리에서 ORDER BY절을 사용해도 되지만 의미없다. -> 하지마 WHERE절 / HAVING절 / FROM절에서 사용되는 서브쿼리 SELECT절의 서브쿼리 스칼라 서브쿼리 FROM절의 서브쿼리 인라인 서브쿼리 WHERE절의 경우 서브쿼리의 결과에 따라 값 하나 -> 단일행 서브쿼리 값 여러 개 -> 다중행 서브쿼리 */ -- CLARK의 급여보다 많은 급여를 받는 사원을 조회 SELECT ename, sal FROM emp WHERE sal > ( SELECT sal ..
-- #################### 단일행 함수 실습 ################### -- 1) 이름이 'adams' 인 직원의 급여와 입사일을 조회하시오. -- 이름순으로 정렬합니다. SELECT ename, sal, hiredate FROM emp WHERE lower(ename) = 'adams' ORDER BY ename; -- 2) 'Adams의 입사일은 87/05/23 이고, 급여는 3000$ 입니다.' 이런 식으로 직원정보를 조회하시오. -- 알리야스는 Info로 합니다. SELECT CONCAT(upper(left(ename, 1)), lower(right(ename,length(ename)-1)), ' 의 입사일은 ', date_format(hiredate, '%y/%m/%d'..
/* 그룹함수(집계함수) count, sum, max, min, avg */ -- count -- 전체 사원수를 조회 SELECT count(*) FROM emp; # 프로그램적으로 더 좋은 기법 SELECT count(-1) FROM emp; # -1 마지막 컬럼 혹은 기본키로 조회하기 -- 그룹함수는 null값을 제외하고 처리한다.. 이때 COUNT(*)는 null 값도 조회 -- sum, avg 숫자 데이터에만 적용 / max, min, count 모든 데이터에 적용 SELECT round(avg(sal)), sum(sal), min(sal), max(sal) FROM emp; -- 입사한지 가장 오래된 사원과 가장 최근에 입사한 사원의 입사일을 조회 SELECT min(hiredate), max(..
-- ################## 문자열 함수 실습 ###################### -- 1) 직원의 이름에 대소문자 상관없이 s가 들어간 직원의 모든 정보를 출력하라. SELECT empno, ename, job, mgr, hiredate, sal, comm, deptno FROM emp WHERE lower(ename) LIKE '%s%'; -- 2) 직원 정보 중 사원번호, 이름, 급여를 출력한다. 단, 이름은 앞에서 3글자씩만 출력하라. SELECT empno, left(ename, 3), sal FROM emp; -- 3) 이름의 글자수가 6자 이상인 사람의 이름을 앞에서 3자만 구하여 소문자로 이름만을 출력하라. SELECT lower(left(ename, 3)) FROM emp..
-- 4. 변환함수 가장 일반적으로 MySQL에서 사용되는 데이터 형식 변환함수는 CONVERT, CAST이다. 이 둘은 형식만 다를 뿐 거의 비슷한 기능을 수행한다. CONVERT (exspression, 데이터 형식 [길이]) CAST (exspression AS 데이터 형식 [길이]) -- 사원의 연봉을 구함 SELECT ename, sal, sal*12+ifnull(comm, 11.2) 연봉 FROM emp; -- 사원의 연봉을 정수로 보기 위해 convert 사용 가능 SELECT ename, sal, CONVERT(sal*12+ifnull(comm, 11.2), SIGNED INTEGER) 연봉 FROM emp;