Inner Join(내부 조인) -- JYP라는 아이디를 가진 사람이 구매한 물건을 발송하기 위해 이름/주소/연락처 검색 USE sqlDB; SELECT * FROM buyTbl INNER JOIN userTbl ON buyTbl.userid = userTbl.userid -- 테이블 이름.열이름 형식 !! WHERE buyTbl.userid = 'JYP'; ↑On 구문과 where 구문에는 ‘테이블이름.열이름’의 형식으로 써야 한다. where가 없다면 buyTbl의 모든 행에 대하여 userTbl과 결합하게 됨. -- INNER JOIN의 다른 형태 SELECT * FROM topic INNER JOIN author ON topic.author_id = author.aid; SELECT * FROM ..
실습 준비 샘플 코드 USE tempdb DROP TABLE IF EXISTS author; CREATE TABLE author ( aid int NOT NULL, name varchar(10) DEFAULT NULL, city varchar(10) DEFAULT NULL, profile_id int DEFAULT NULL, PRIMARY KEY (aid) ) INSERT INTO author VALUES (1,'egoing','seoul',1),(2,'leezche','jeju',2),(3,'blackdew','namhae',3); DROP TABLE IF EXISTS profile; CREATE TABLE profile ( pid int NOT NULL, title varchar(10) DEFAULT..
1. 데이터 형식 변환 함수 가장 일반적으로 사용되는 데이터 형식 변환은 CAST()와 CONVERT(), TRY_CONVERT() 함수 - CAST (형변환대상 as 데이터형식) - CONVERT (데이터형식, 형변환대상) - TRY_CONVERT (데이터형식, 형변환대상) -- 평균 구매 개수 SELECT AVG(amount) '평균구매개수' FROM buyTbl; SELECT AVG( CAST(amount AS FLOAT)) '평균구매개수' FROM buyTbl; SELECT AVG( CONVERT(FLOAT, amount)) FROM buyTbl; SELECT AVG(TRY_CONVERT(FLOAT, amount)) '평균구매개수' FROM buyTbl; -- 단가 / 수량 SELECT price..
1. 숫자 데이터 형식 BIT : 숫자 범위는 0또는 1, BOOLEAN형인 참과 거짓에 사용 INT : 정수형, 숫자 범위는 약 -21억 ~ +21억 SMALLINT : 정수형, 숫자범위는 -21,768 ~ 32,767 TINYINT : 양의 정수, 숫자범위는 0 ~ 255 BIGINT : 정수형, 숫자범위는 -2^63 ~ +2^63-1 2. 문자 데이터 형식 CHAR / NCHAR : 고정길이 문자형 VARCHAR : 가변 길이 문자형 NVARCHAR : 가변길이 문자형 ※대용량 데이터베이스를 사용하는 경우, 4글자 미만을 저장하게 될 시 CHAR / NCHAR형식으로 설정하는 것이 INSERT / UPDATE시 더 좋은 성능을 발휘한다. 3. 날짜와 시간 데이터 형식 DATETIME : “YYYY-..
뷰(VIEW) : 가상의 테이블 - 테이블과 동일하게 보이지만 실제 행 데이터를 가지고 있지 않음 - 테이블과 비슷한 역할을 하도록 SELECT 문을 이용하여 만드는 개체 - 개체가 생성되기 때문에 한번 생성하면 테이블이라고 생각하고 사용해도 될 정도로 (사용자 입장에서는 테이블과 뷰는 동일하게 취급된다.) - 뷰의 장점 1) 보안에 도움이 됨. 주민등록번호, 계정, 금융정보 2) 복잡한 쿼리를 단순화 시킬 수 있다. (WITH CTE와 유사) - 뷰의 단점 1) 일반 쿼리문보다 속도가 약간 느려질 수 있다.(과거) 2) 별도로 뷰를 관리해야 하므로 관리 차원에서 부담이 늘어난다. -- 뷰를 수정할 수 없는 경우 -- 집계 함수를 사용한 뷰 -- UNION ALL, CROSS JOIN 등을 사용한 뷰 -..
-- 테이블 정보 확인 EXEC SP_HELP userTbl; SELECT * FROM INFORMATION_SCHEMA. TABLES; SELECT * FROM SYSOBJECTS; -- 키 확인 SELECT * FROM INFORMATION_SCHEMA. TABLE_CONSTRAINTS; SELECT * FROM INFORMATION_SCHEMA. TABLE_CONSTRAINTS WHERE TABLE_NAME='userTbl'; -- sysobjects을 이용하여 제약조건, 테이블, 키 정보들을 알 수 있다. SELECT name, TYPE FROM SYSOBJECTS WHERE TYPE='D' -- 제약조건 SELECT name, TYPE FROM SYSOBJECTS WHERE TYPE='U' --..