SQL 28

오라클 외워야할거

오라클은 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