본문 바로가기

전체 글307

SQL 서브쿼리 사용하여 쿼리문 다루기 요즘 서브쿼리 쓸일이 계속 생기길래,,, 기초다시 한번 훑어보기  - 서브쿼리를 사용하여 insert 를 여러개 동시에 해보기INSERT INTO emp2(empno, ename, sal, deptno) SELECT empno, ename, sal, deptno FROM emp WHERE deptno=10; > deptno 가 10인 emp의 테이블 내 데이터가 emp2에 insert into 된다> insert into는 하나씩 입력되었지만 여러개의 행을 동시에 넣고 싶다면 이렇게 서브쿼리를 이용해서where 조건문을 사용해 동시에 넣을 수 있움 - 서브쿼리를 사용해 데이터 수정하는 법UPDATE emp SET sal = (SELECT sal .. 2024. 9. 19.
노래 인기도 데이터 군집 분석_메뉴얼 보호되어 있는 글 입니다. 2024. 2. 20.
SQLD 를 위한 SQL기본문법 정리 8 - DCL - 사용자의 계정 생성/삭제, 권한 부여/회수에 대한 명령어 EX. 만약 ID : SYSTEM / PW : PW0101 로 로그인했다면 CREATE USER 사용자ID IDENTIFIED BY 패스워드; --사용자ID신규만들기 ALTER USER 사용자ID IDENTIFIED BY NEW패스워드; --기존사용자ID 비번 바꾸기 -- @------------여기까지는 사용자ID가 로그인해서 새로운ID를 만들어도 안됨 GRANT CREATE USER TO 사용자ID;--사용자ID에게 권한 줌 -- @------------권한을줬기 때문에 새로운ID를 만들수 있음 REVOKE CREATE USER FROM 사용자ID; --사용자ID 권한 회수 -- @----------- 권한이 없어서 새로운ID못만들어 DRO.. 2024. 2. 19.
SQLD 를 위한 SQL기본문법 정리 7 - TCL(Transaction Control Language) - 데이터 베이스의 논리적 연산 단위 : 의미적으로 분할할 수 없는 최소의 단위, 하나의 트랜잭션은 여러 SQL문장을 포함 : 성공시 모든 연산을 반영, 취소시 모든 연산을 취소 ▶ ALL OR NOTHING EX) 도서주문(재고 수량 감소, 주문 내역 생성, 결제, 포인트 적립) 계좌 이체 ( 원계좌의잔액감소, 다른 계좌의 잔액 증가) 교통카드 충전 (잔액증가, 결제) - 중요! 1) 원자성 Atomicity : 트랜잭션에서 정의된 연산들은 모두 성공적이거나 실행되지 않아야함. (All or Nothing) 2) 일관성 Consistency : 트랜잭션이 실행 되기 전의 DB 내용이 잘못되어있지 않다면, 실행된 이후에도 DB의 내용에 잘못이 있으면 안됨 3) 고립성 Isolation : 실행되는 도중에.. 2024. 2. 15.
SQLD 를 위한 SQL기본문법 정리 6 - Function_2 1) CASE Expression - 표현식이지만 함수 성격 가지고 있음 - IF ~ THEN ~ ELSE 논리 흐름 SELECT PLAYER_NAME, HEIGHT, CASE WHEN HEIGHT > 180 THEN HEIGHT ELSE 180 END AS NEW_HEIGHT FROM PLAYER; 180보다 크면 그대로 출력하고 180보다 작으면 180을 출력하도록 함 1-1) SEARCHED CASE EXPRESSION : 다양한 조건 사용 가능, 표현식이 복잡, 중첩도 SELECT PLAYER_NAME,POSITION, CASE WHEN POSITION = 'GK' THEN '골키퍼' WHEN POSITION = 'DF' THEN '수비수' WHEN POSITION = 'MF' THEN '미드필더.. 2024. 2. 14.
SQLD 를 위한 SQL기본문법 정리 6 - Function_1 2024년도부터 function은 범위에 없으나,,,,,,,, 그냥 공부한셈 친걸로,,^^,,,,,,,,,,,,,,,,,,(눈물) - 생성 주체 : 사용자 정의 함수 (User Defined Function) : 내장 함수 (Built-in Function) - 벤더 정의 - 적용 범위 : 단일 행 함수 (Single-Row Function) > 문자형 함수, 숫자형 함수, 날짜형 함수 > 제어 함수, 변환 함수, NULL 관련 함수 : 다중 행 함수 (Multi-Row Function) > 그룹 함수 (Group Function) : 집계 함수(Aggregate Function) 포함 > 윈도우 함수 (Window Function) - 각 행(row)에 대해 개별적으로 작용. 그 결과를 반환. : 단일.. 2024. 2. 14.
SQLD 를 위한 SQL기본문법 정리 5 - DDL, 테이블 변경 - 테이블 변경 - 컬럼의 추가/삭제/수정, 제약 조건의 추가/삭제 ALTER TABLE PLAYER_TEMP 뒤에 ADD가 오냐, MODIFY가 오냐 RENAME이 오냐에 따라 수정됨 - 새로 추가한 컬럼은 테이블의 맨 마지막에 추가됨 ALTER TABLE PLAYER_TEMP ADD (ADDRESS VARCHAR2(80)); - drop후에 최소 1개 이상의 컬럼이 남아있어야함. ALTER TABLE PLAYER_TEMP DROP COLUMN ADDRESS; - 이름만 바꾸고 모든 정의가 그대로 유지됨 ALTER TABLE PLAYER_TEMP RENAME COLUMN PLAYER_ID TO PLAYER_NEW_ID; - 이미 입력되어 있는 값에 영향을 미치는 변경은 허용하지 않음 - 데이터 타입 변.. 2024. 2. 14.
SQLD 를 위한 SQL기본문법 정리 4 - DDL, 테이블 생성 DDL - 테이블 생성 규칙 1. 테이블 명 : 객체 의미할 수 있는 이름, 단수형 권고, 다른 테이블의 이름과 중복되지 않아야 함 2. 컬럼 명 : 한 테이블 내에 중복되지 않아야함, 테이블 생성시 각 컬럼은 괄호 내 콤마로 구분, 뒤에 데이터 유형이 반드시 지정되어야 3. 테이블명&컬럼명 : 사전에 정의된 예약어(Reserved word)는 사용 불가(ex) select, from, where etc), 문자 숫자 일부 기호(_, $, #)만 허용, 반드시 문자로 시작되어야 함(숫자, 기호x) 4. 제약 조건명 : 다른 제약조건의 이름과 중복되지 않아야 1. CHAR : 고정 문자열, 고정길이보다 작은 경우 공백이 채워짐 2. VARCHAR2 : 가변 길이 문자열, 고정길이보다 작으면 나머지 공간은 .. 2024. 2. 13.
SQLD 를 위한 SQL기본문법 정리 3 DML (Data Manipulation Language) 데이터를 검색 또는 변형하기 위한 명령어 SELECT, INSERT, UPDATE, DELETE : SELECT 는 조회라서 아무런 영향을 안줌. 나머지 INSERT, update, delete는 테이블 구조에는 영향을 주지 않지만 (구조에 영향을 주는건 DDL, Data Definition Language ex. create, alter, drop etc...) 인스턴스에 영향을 줌 - 테이블에 한 건의 레코드 추가 : 여러 건이면 INSERT ALL ~구문 활용 - 문자 or 날짜는 작은 따옴표 사용 (숫자는 x) INSERT INTO PLAYER (PLAYER_ID, PLAYER_NAME, TEAM_ID, BIRTH_DATE) VALUES .. 2024. 2. 7.