전체 글 78

[SQL] 조인 질의문 - 간단한 조인, 다양한 조인 ( 카티션프로덕트 / 동등조인 / 자연조인 / 쎄타조인 / 셀프조인 / 외부조인 )

조인 하나의 SQL 질의문에 의해서 여러 테이블에 저장된 데이터를 한번에 조회할 수 있는 기능 두 개 이상의 테이블을 ‘결합’ 한다는 의미 간단한 조인 -- FROM 절에 조인에 참여하는 두 테이블을 기록함 -- 콤마 (,) 로 구분함 -- WHERE 절에 조인 조건을 기술함 예) 사번이 103 인 사원의 부서명 을 알고 싶을 때 사원 정보 : EMPLOYEE 부서 정보 : DEPARTMENT 조인 조건 EMPLOYEE.DNO = DEPARTMENT.DNO => 두 테이블을 dno 값으로 연결한다는 뜻 select dname from employee, department where eno=103 and employee.dno=department.dno; 조인 작성시 유의사항 컬럼 이름의 모호성 서로 다른..

Programming/SQL 2020.12.17

[SQL] 데이터 삽입과 변경 - insert / update / delete

insert : 테이블에 데이터를 추가하기위한 데이터 조작어 단일행 입력 INSERT INTO 테이블명 [( 속성명,…, 속성명 )] VALUES ( 값,…, 값 ) 테이블명에 명시한 속성에 VALUES 절에 지정한 값을 입력함 테이블명에 속성을 명시하지 않으면 테이블 생성시 정의한 컬럼 순서와 동일한 순서로 입력 예) EMPTEST 테이블에 사원 정보( 50, “홍길동”, “staff”, NULL, 2012 -10-01, 500, 30, 10 ) 삽입 테이블 만들기 create table emptest( eno int, ename varchar(20), job varchar(20), manager int, hiredate datetime, salary int, commission int, dno int..

Programming/SQL 2020.12.17

[SQL/Error] (1452): Cannot add or update a child row: a foreign key constraint fails

(1452): Cannot add or update a child row: a foreign key constraint fails 참조테이블에 없는 값을 추가해서 발생한 오류 참조 무결성에 따라서 부모키에 해당하는 값만 넣을 수 있음. 참조하는 테이블에 데이터를 먼저 추가한 후, 참조받는 테이블에 데이터를 추가하니 오류해결. (외래키로 연결한 값을 동일하게 줘야함) 참조 : reeme.tistory.com/26

Programming/SQL 2020.12.17

[SQL/실습] 데이터 검색 - 연습문제 풀어보기 2 (답안)

테이블 만들고 튜플 삽입하기 사원(emp) 테이블만들기 use example; create table emp( empno int primary key, ename varchar(10), job varchar(10), mgr int, hiredate datetime, sal int, comm int, deptno varchar(2) ); 사원(emp) 테이블에 튜플 삽입 -- 컨트롤+ 쉬프트+ 엔터 > INSERT 한꺼번에 하기 insert into emp(empno,ename,job,mgr,hiredate,sal,comm,deptno) values('7369','SMITH','CLERK','7902','1980-12-17','800',NULL,'20'); insert into emp(empno,ename..

Programming/SQL 2020.12.16

[SQL/실습] 데이터 검색 - 연습문제 풀어보기 2 (문제)

* 첨부파일에 있는 데이터로 테이블로 만든 후 아래 문제를 푸세요 * 단 각 테이블의 컬럼의 데이터 유형은 데이터를 참조해서 설정하시오. 연습문제 1. 부서번호가 10번인 부서의 사람 중 사원번호, 이름, 월급을 출력하세요 2. 사원번호가 7369인 사람 중 이름, 입사일, 부서번호를 출력하세요. 3. 이름이 ALLEN인 사람의 모든 정보를 출력하세요. 4. 입사일이 83/01/12인 사람의 이름, 부서번호,월급을 출력하세요. 5. 직업이 MANAGER가 아닌 사람의 모든 정보를 출력하세요. 6. 이름이 K로 시작하는 사람보다 높은 이름을 가진 사람의 모든 정보를 출력하세요. 7. 입사일이 81/04/02 보다 늦고 82/12/09 보다 빠른 사원의 이름, 월급, 부서번호를 출력하세요. 8. 이름 중 S..

Programming/SQL 2020.12.16

[SQL/실습] 데이터 검색 - 연습문제 풀어보기 1 (답안)

테이블 만들고 튜플 삽입하기 use example; 부서(department) 테이블 create table department ( dno varchar(2) primary key, dname varchar(15), loc varchar(10) ); 부서(department) 테이블에 튜플 삽입 -- 단축키 사용 (ctrl + shift + enter) insert into department values('10','Accounting','Seoul'); insert into department values('20','Human','Incheon'); insert into department values('30','Sales','Yungin'); insert into department values('4..

Programming/SQL 2020.12.16

[SQL/실습] 데이터 검색 - 연습문제 풀어보기 1 (문제)

* 첨부파일에 있는 데이터로 테이블로 만든 후 아래 문제를 푸세요 * 단 각 테이블의 컬럼의 데이터 유형은 데이터를 참조해서 설정하시오. 연습문제 -- 사원 테이블 (employee)에서 사원명(ename)과 봉급(salary) *12 검색 -- 사원테이블(employee)에서 사원번호(eno) 110번의 이름 (ename)과 부서번호(dno) 검색 -- 사원 테이블에서 부서번호 (dno)가 20번이고 봉급(salary)이 400이상인 사원의 이름(ename)과 직책(job) 검색 -- 사원 테이블에서 입사일이 2020년 1월 10일에서 2020년 1월 12일 사이인 회원의 이름과 직책을 검색 -- 사원 테이블에서 부서번호가 10 이거나 30인 회원의 이름과 직책을 검색 -- 사원 테이블에서 보너스(co..

Programming/SQL 2020.12.16

[SQL] 복잡한 데이터 검색 - ORDER BY 절

ORDER BY ORDER BY column_name ASC/DESC ASC : 오름차순으로 , 기본값 ( 생략가능 ) DESC : 내림차순 , 생략불가능 예)봉급 (Salary) 기준 내림차순으로 사원들의 이름 , 봉급 , 부서 번호 출력 select ename, salary, dno from employee order by salary desc; 다중 속성 정렬 예) 봉급(SALARY) 기준 내림차순으로 사원들의 이름, 봉급, 부서번호 출력 만약, 봉급이 같은 경우에는 부서번호가 낮은 순으로 (오름차순) 정렬 select ename, salary, dno from employee order by salary desc, dno asc;

Programming/SQL 2020.12.16

[SQL] 복잡한 데이터 검색 - 문자열 검색 (LIKE / % / _ )

LIKE 연산자 : 컬럼에 저장된 문자열 중에서 LIKE 연산자에서 지정한 문자 패턴과 부분적으로 일치하면 참이 되는 연산자 부분 문자열 검색에 사용되는 패턴 % : 임의의 길이의 문자열% 모든 문자 (글자수제한이없음) %자바 : '자바'로 끝나는 문자 예 ) 신나는 자바 , 재밌는 자바 자바% : '자바'로 시작하는 문자 예) 자바는 재미있다. 자바는 신난다. %자바% : 앞에 와도되고 뒤에와도되고 중간에 와도되고 '자바'라는 문자가 포함되기만 하면 됨 _ : 글자한자 (글자수제한이 있음) _자바 : 자바로 끝나는 문자 (총 세글자) 자바_ : 자바로 시작하는 문자 (총 세글자) _자바_ : 자바가 포함된 문자 (총 네글자) 여러개 쓰기도 가능 예 ) __자바 ( 네글자 가능) 예) 부서 테이블(dep..

Programming/SQL 2020.12.16

[SQL] 복잡한 데이터 검색 ( between / in / is null )

BETWEEN a AND b : 검색 조건의 상한과 하한을 지정함 예) 속성 X 가 10 보다 크거나 같고 50 보다 작거나 같음 X>=10 AND X COMMISSION항목의 값이 null값이어도 결과를 도출해내지 못함 이럴경우 is null을 이용한다 select * from employee where commission is null; null값이 아닌 튜플들을 찾는 방법 is not null을 사용함 예) commission의 값이 null이 아닌 튜플을 찾아라 select * from employee where commission is not null;

Programming/SQL 2020.12.16