MySQL 실행 결과를 파일로 저장하기 sample.sql 은 코드가 들어있는 파일이고 tee 로 경로를 지정하는순간 실행결과가 기록되는 파일이 생성된다 notee 하는 순간 기록이 저장되지 않음 SQL 2023.11.07
오라클 외워야할거 오라클은 on update기능이 없다. @테이블의 데이터타입을 보는방법 SELECT * FROM all_tab_columns where table_name='DEPARTMENTS'; SELECT * FROM all_tab_columns where table_name='BOARD'; @칼럼 추가 alter table BOARD add IMPORTANCE number default 3; @CHECK제약조건 추가 //alter table BOARD add constraint importance_ck check(IMPORTANCE between 1 and 5); alter table BOARD add constraint importance_ck check(IMPORTANCE in (1,2,3,4,5)); @칼럼.. SQL 2022.11.23
MYSQL 특이점.. @제약조건 스키마로확인 SELECT * FROM information_schema.REFERENTIAL_CONSTRAINTS WHERE constraint_schema ='11.22COURSE'; @제약조건 테이블명으로 확인 select * from information_schema.table_constraints WHERE TABLE_NAME='STUDENT'; select * from information_schema.table_constraints WHERE TABLE_NAME='GRADE_REPORT'; @ UPDATE문에 테이블을 조인시켜도 되는구나 UPDATE STUDENT S JOIN GRADE_REPORT G ON S.STUDENT_NUMBER = G.STUDENT_NUMBER JOIN S.. SQL 2022.11.23
오라클 데이터베이스 입문 정리 @테이블명 , 칼럼명은 대문자로 작성권장 @ order by 는 속도저하를 일으키므로 웬만하면 쓰지않는다. @ union할때는 열개수와 열의 자료형이 순서별로 일치해야하고 최종 출력되는 열이름은 먼저 작성한 select문의 열이름으로 표기됨 @ 첫문자가 F와 같거나 뒤쪽인것만 검색한다. SELECT * FROM EMP WHERE ENAME >= 'F'; @ FORZ를 포함한 문자열보다 알파벳순서로 앞에있는행 출력 (첫번째문자가같다면 두번째..세번째 순서대로 사전식 정렬) SELECT * FROM EMP WHERE ENAME >= 'FORZ'; @연산자 우선순위 산술연산자> 비교연산자 > IS NULL,LIKE, IN > BETWEEN연산자 > NOT > AND > OR @함수 INITCAP(문자열) : .. SQL 2022.11.06
SQL exists문 where exist(~~~~~) ~~이 존재하면 실행 ex) where exists( select * from where username="홍길동") >=홍길동이 존재할때만 정상출력. 없다면 결과는 아무것도안나옴 ex) SELECT * FROM A WHERE EXISTS (SELECT col1 FROM B); 먼저 A테이블에 접근하여 하나의 레코드를 가져오고 그 레코드에 대해서 EXISTS 이하의 서브쿼리를 실행하고 서브쿼리에 대한 결과가 '존재하는지'를 확인 제일 처음에 첫번째행 레코드를 가져왔을 것이고, 해당 레코드에 대해서 서브 쿼리를 통해 결과가 나오는지 확인한다. 이때 서브쿼리에 대해 어떠한 결과라도 존재하기만 한다면 참이 되어서 첫번째행 레코드가 출력된다 SQL 2022.11.06
WHERE ~ IN 다중칼럼,서브쿼리조건 @ and 대신 이렇게도 쓸수있다. SELECT * FROM EMP e WHERE (job,SAL) IN (('SALESMAN',1250) ,('CLERK',800) ); @ IN에 서브쿼리도 넣을수있음. SELECT job,ename,sal FROM EMP e WHERE (job,SAL) IN (SELECT job,sal FROM emp WHERE sal SQL 2022.11.06
oracle. keep(dense_rank first order by) 구문 서브쿼리없이 한방에 각 직업별 최고/최저 연봉자를 구할 수 있다. 단, 여러명인 경우 한명만 출력된다. SQL 2022.11.06
SUM(CASE WHEN) 구문 SELECT SUM(CASE WHEN col2_2>0 THEN 3 WHEN col2_2 IS NULL THEN 2 ELSE 4 END) AS 합계 FROM tb4; null값을 2로 바꿔서 합계에 이용하는 방법이다. SQL 2022.11.06
UNION 과 MINUS UNION ALL이 UNION보다 성능이 좋다 (빠르다) UNION은 한 테이블에 있는 같은 인스턴스가 존재할때 그 중복도 제거하여 하나로 만든다. MINUS는 빼는 것과 관계없이 , 중복이 여러개 있는 행을 하나로 만든다. SQL 2022.11.06