Liea
'① 공부/SQL' 카테고리의 글 목록 (2 Page)

① 공부/SQL

① 공부/SQL

MSSQL사용, JOIN(3)

실습 쿼리문 use sqldb; CREATE TABLE stdTbl ( stdName nvarchar(10) NOT NULL PRIMARY KEY, addr nchar(4) NOT NULL ); CREATE TABLE clubTbl ( clubName nvarchar(10) NOT NULL PRIMARY KEY, roomNo nchar(4) NOT NULL ); CREATE TABLE stdclubTbl ( num int IDENTITY NOT NULL PRIMARY KEY, stdName nvarchar(10) NOT NULL FOREIGN KEY REFERENCES stdTbl(stdName), clubName nvarchar(10) NOT NULL FOREIGN KEY REFERENCES clubT..

① 공부/SQL

MSSQL사용, JOIN(2)

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 ..

① 공부/SQL

MSSQL사용, JOIN(1)

실습 준비 샘플 코드 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..

① 공부/SQL

MSSQL사용, 데이터 형식 관련 함수

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..

① 공부/SQL

MSSQL사용, 변수의 사용

변수의 사용 변수의 선언 : DECLARE @변수이름 데이터 형식; 변수에 값 대입 : SET @변수이름 = 변수의 값; 변수의 값 출력 : SELECT @변수이름; use sqlDB; DECLARE @myVar1 INT; DECLARE @myVar2 SMALLINT, @myVar3 DECIMAL(5,2); DECLARE @myVar4 NCHAR(20); SET @myVar1 = 5; SET @myVar2 = 3; SET @myVar3 = 4.25 SET @myVar4 = N'키가 180보다 큰 가수 이름==> '; SELECT @myVar1; SELECT @myVar2 + @myVar3; SELECT @myVar4, NAME FROM userTbl WHERE HEIGHT > 180;

① 공부/SQL

MSSQL사용, 데이터 형식

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-..

① 공부/SQL

MSSQL사용, 뷰(VIEW)

뷰(VIEW) : 가상의 테이블 - 테이블과 동일하게 보이지만 실제 행 데이터를 가지고 있지 않음 - 테이블과 비슷한 역할을 하도록 SELECT 문을 이용하여 만드는 개체 - 개체가 생성되기 때문에 한번 생성하면 테이블이라고 생각하고 사용해도 될 정도로 (사용자 입장에서는 테이블과 뷰는 동일하게 취급된다.) - 뷰의 장점 1) 보안에 도움이 됨. 주민등록번호, 계정, 금융정보 2) 복잡한 쿼리를 단순화 시킬 수 있다. (WITH CTE와 유사) - 뷰의 단점 1) 일반 쿼리문보다 속도가 약간 느려질 수 있다.(과거) 2) 별도로 뷰를 관리해야 하므로 관리 차원에서 부담이 늘어난다. -- 뷰를 수정할 수 없는 경우 -- 집계 함수를 사용한 뷰 -- UNION ALL, CROSS JOIN 등을 사용한 뷰 -..

① 공부/SQL

MSSQL사용, 테이블 정보 확인

-- 테이블 정보 확인 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' --..

① 공부/SQL

MSSQL사용, 테이블과 뷰

-- 테이블 생성 : []는 생략 가능을 의미함 CREATE TABLE [스키마_명].테이블_이름 ( 필드명1 데이터형 [속성], 필드명2 데이터형 [속성], 필드명3 데이터형 [속성] ); -- 기본적인 틀 구성 --추가 옵션 적용 : NULL, NOT NULL (기본 값은 NULL) CREATE DATABASE tableDB; USE tableDB; CREATE TABLE userTbl ---회원 테이블 ( userID char(8) NOT NULL, --사용자 아이디 name nvarchar(10) NOT NULL, --이름 birthYear int NOT NULL, --출생년도 addr nchar(2) NOT NULL, --지역(경기, 서울, 경남) mobile1 char(3) NULL, --휴대..