'Oracle DataBase' 카테고리의 다른 글
오라클 실습 (전문가로 가는 지름길) (0) | 2021.09.23 |
---|---|
JOIN과 UNION 차이 (0) | 2021.09.15 |
데이터 타입 변환 (0) | 2021.09.14 |
테이블 정보 조회, 컬럼(추가, 변경, 삭제), 테이블 권한조회 (0) | 2021.09.06 |
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
오라클 실습 (전문가로 가는 지름길) (0) | 2021.09.23 |
---|---|
JOIN과 UNION 차이 (0) | 2021.09.15 |
데이터 타입 변환 (0) | 2021.09.14 |
테이블 정보 조회, 컬럼(추가, 변경, 삭제), 테이블 권한조회 (0) | 2021.09.06 |
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
오라클 핸드폰번호 마스킹 (0) | 2021.10.01 |
---|---|
JOIN과 UNION 차이 (0) | 2021.09.15 |
데이터 타입 변환 (0) | 2021.09.14 |
테이블 정보 조회, 컬럼(추가, 변경, 삭제), 테이블 권한조회 (0) | 2021.09.06 |
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
공통점 하나 이상의 테이블에서 특정한 컬럼을 검색할 때 사용 |
|
차이점 | |
JOIN WHERE 조건으로 두개 이상의 테이블에서 원하는 컬럼을 선택하여 조회 수평(병렬)으로 결합 교집합? |
UNION 두개 이상의 SELECT문을 사용해서 그 검색 결과를 합침 수직(직렬)으로 결합 차집합? |
그리고 UNION ALL이란게 있는데
UNION은 중복을 제거하지만
UNION ALL은 중복을 제거하지 않고 전부 출력한다
UNION ALL은 행의 합집합
OUTER JON은 열의 합집합
오라클 핸드폰번호 마스킹 (0) | 2021.10.01 |
---|---|
오라클 실습 (전문가로 가는 지름길) (0) | 2021.09.23 |
데이터 타입 변환 (0) | 2021.09.14 |
테이블 정보 조회, 컬럼(추가, 변경, 삭제), 테이블 권한조회 (0) | 2021.09.06 |
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
오라클 실습 (전문가로 가는 지름길) (0) | 2021.09.23 |
---|---|
JOIN과 UNION 차이 (0) | 2021.09.15 |
테이블 정보 조회, 컬럼(추가, 변경, 삭제), 테이블 권한조회 (0) | 2021.09.06 |
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
컬럼 중복제거( DISTINCT, GROUP BY) (0) | 2021.07.15 |
테이블 코멘트 보기
SELECT *
FROM ALL_TAB_COMMENTS
WHERE TABLE_NAME = '테이블명'
컬럼 속성보기
SELECT *
FROM ALL_COL_COMMENTS
WHERE TABLE_NAME = '테이블명'
컬럼 추가
ALTER TABLE 테이블명 ADD(컬럼명 데이타타입(사이즈));
수정
[문법] ALTER TABLE 테이블명 MODIFY(컬럼명 테이타타입(사이즈));
삭제
[문법] ALTER TABLE 테이블명 DROP COLUMN 컬럼명
컬럼명 변경
[문법] ALTER TABLE 테이블명 RENAME COLUMN 원래컬럼명 TO 바꿀컬럼명;
https://jwklife.tistory.com/5
테이블 정보가 있는 상태에서 컬럼을 수정할 시
https://saem-ee.tistory.com/46
코멘트달기
COMMENT ON COLUMN 테이블명.컬럼명 IS '코멘트';
테이블 권한 조회
SELECT * FROM USER_TAB_PRIVS_RECD; 권한부여 유저별 테이블 권한 확인
SELECT * FROM ALL_TAB_PRIVS_RECD; 전체 유저별 테이블 권한 확인
SELECT * FROM USER_TAB_PRIVS_RECD WHERE TABLE_NAME = '테이블명';
해당 테이블에 INSERT, UPDATE, SELECT, DELETE 를 할 수 있는지 확인할 수 있다.
JOIN과 UNION 차이 (0) | 2021.09.15 |
---|---|
데이터 타입 변환 (0) | 2021.09.14 |
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
컬럼 중복제거( DISTINCT, GROUP BY) (0) | 2021.07.15 |
오라클 DB정렬 (0) | 2021.06.11 |
단순히
SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a, 테이블명 b
WHERE a. 컬럼1 = b.컬럼4
ORDER BY 정렬;
하면 간단하게 두 테이블에서 같은것은 출력이 된다. (교집합)
근데 a테이블에는 데이터가 있는데 b테이블에는 데이터가 없으면 위에 쿼리문으로는 출력이 되지 않는다.
그럴때는 outer join을 쓰면 된다.
자세한건 링크에서 보자
SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a,
LEFT OUTER JOIN 테이블명 b
ON a. 컬럼1 = b.컬럼4
WHERE 조건절
ORDER BY 정렬;
이렇게 하면 a테이블에는 데이터가 있고 b 테이블에는 데이터가 없어도 b테이블 컬럼에 관한건 null로 나오면서 출력이 된다.
근데 여기서 하나 주의 할건 on과 where 이다. 이 둘은 join하는 범위가 다르다.
예를들어
SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a,
LEFT OUTER JOIN 테이블명 b
ON a. 컬럼1 = b.컬럼4
WHERE a.컬럼1 ='sample'
ORDER BY 정렬;
이렇게 하면 a테이블의 컬럼값이 sample인 데이터만 나오는데
SELECT a.컬럼1, a.컬럼2, b.컬럼3
FROM 테이블명 a,
LEFT OUTER JOIN 테이블명 b
ON a. 컬럼1 = b.컬럼4
AND a.컬럼1 ='sample'
ORDER BY 정렬;
이렇게 하면 컬럼값이 sample이 아닌 데이터들도 나온다.
https://blog.leocat.kr/notes/2017/07/28/sql-join-on-vs-where
INNER JOIN과 OUTER JOIN의 차이는 NULL값이 포함되느냐이다.
테이블 두개를 붙여서 출력할 때 A테이블에는 데이터가 있는데 B에는 데이터가 없는 경우가 있다.
이럴때 INNER JOIN을 하면 B테이블에 데이터가 없기 때문에 출력되지 않는다
이럴때는 OUTER JOIN을 써야지 NULL값도 포함한 모든 데이터가 나온다.
https://server-engineer.tistory.com/306
https://goddaehee.tistory.com/62
데이터 타입 변환 (0) | 2021.09.14 |
---|---|
테이블 정보 조회, 컬럼(추가, 변경, 삭제), 테이블 권한조회 (0) | 2021.09.06 |
컬럼 중복제거( DISTINCT, GROUP BY) (0) | 2021.07.15 |
오라클 DB정렬 (0) | 2021.06.11 |
[DataBase] 기본키(Primary Key), 외래키 (Foreign Key) (0) | 2021.04.07 |
SELECT DISTINCT (컬럼명) FROM 테이블명 (조건절)
여러개를 할때
SELECT DISTINCT (컬럼명), (컬럼명) FROM 테이블명 (조건절)
SELECT (컬럼명) FROM 테이블명 (조건절) BROUP BY (컬럼명)
DISTINCT
GROUP BY
그외
컬럼명의 중복을 제외한 행의 갯수
SELECT COUNT(DISRINCR (컬럼명)) FROM (테이블명) 조건절
중복되지 않은 값만으로 합계구하기
SELECT SUM(DISRINCR (컬럼명)) FROM (테이블명) 조건절
중복되지 않은 값만으로 평균구하기
SELECT AVG(DISRINCR (컬럼명)) FROM (테이블명) 조건절
테이블 정보 조회, 컬럼(추가, 변경, 삭제), 테이블 권한조회 (0) | 2021.09.06 |
---|---|
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
오라클 DB정렬 (0) | 2021.06.11 |
[DataBase] 기본키(Primary Key), 외래키 (Foreign Key) (0) | 2021.04.07 |
11/16 수업내용 (0) | 2020.11.16 |
order by 로 데이터를 정렬할때
ASC : 오름차순
DESC : 내림차순
이 두가지 방법이 있지만 내맘대로 커스텀해서 정렬도 할 수 있다.
커스텀 정렬을 사용한 이유는
등록할때 배열을 받은 순서를 보면 위에서 부터 차례때로 들어갔는데
DB에 저장될때는 abc순으로 저장되고
select하면 DB에 조회된것 처럼 abc순으로 나온다.
이걸 update에서 where 절에 사용할 비교값으로 저장하고
update를 위해 새로 배열을 받으면
update하기 위해 배열로 받은건 순서대로 들어오고
비교값은 abc순이라서 반복문 돌리면 안맞아서 오류가 난다.
만약 update를 위해 받은 배열이 순서대로 들어와서 거기에 맞추거나
아님 DB에서 받은 순서대로 밪추고 싶으면
오라클 커스텀정렬 검색해서 내가 원하는 순서로 조회해서 비교하면 된다.
오라클 테이블 합치기 ( JOIN/ UNION) (0) | 2021.07.26 |
---|---|
컬럼 중복제거( DISTINCT, GROUP BY) (0) | 2021.07.15 |
[DataBase] 기본키(Primary Key), 외래키 (Foreign Key) (0) | 2021.04.07 |
11/16 수업내용 (0) | 2020.11.16 |
11/13 수업내용 (3일차 마지막부분, 4일차) (0) | 2020.11.13 |