반응형
-------------
— 문자열 채우기 replicate()
0부터 300까지 데이터 업데이트
UPDATE x
SET x.과목번호 = replicate('0',3 - len(x.New_CODE_DEST))
FROM (
SELECT 과목번호, ROW_NUMBER() OVER (ORDER BY 과목명) AS New_CODE_DEST
FROM 교과_교과목코드
) x
— ORDER BY 과목명 순으로 ROW_NUMBER 테이블 생성 후 UPDATE 실행
UPDATE x
SET x.과목번호 = 20180000+x.num
FROM (
SELECT 과목번호, ROW_NUMBER() OVER (ORDER BY 과목명) AS num
FROM 교과_교과목코드
) x
— 확인
SELECT * FROM 교과_교과목코드 ORDER BY 과목명 ASC
— ALTER TBLE
ALTER TABLE 교과_교과목코드 ALTER COLUMN 과목번호 int
— SELECT
SELECT * FROM 개설강좌
SELECT * FROM 수강신청
SELECT * FROM 학적마스터
— INSERT INTO SELECT
인설트 입력후 셀렉트로 테이블을 불러오면 셀렉트 되는 값이 모두 저장된다.
insert into 수강신청 (캠퍼스구분,연도,학기구분,학번,과목번호,개설학년,반,학점,과목명,과목명영문,학생학년)
select 캠퍼스구분,연도,학기구분,학번,과목번호,개설학년,반,학점,과목명,과목명영문,학년 as 학생학년
FROM 학적마스터 A, 개설강좌 B where 캠퍼스구분 = 001 AND (학년 = 7 or 학년 = 10) and 과목명 ='IDINO_국어'
insert into 수강신청 (캠퍼스구분,연도,학기구분,학번,과목번호,개설학년,반,학점,과목명,과목명영문,학생학년)
select 캠퍼스구분,연도,학기구분,학번,과목번호,개설학년,반,학점,과목명,과목명영문,학년 as 학생학년
FROM 학적마스터 A, 개설강좌 B where 캠퍼스구분 = 001 AND (학년 = 8 or 학년 = 11) and 과목명 ='IDINO_영어'
SELECT * FROM 수강신청
— 테이블 생성
수강신청
create table 수강신청(
캠퍼스구분 VARCHAR(5) ,
연도 INT ,
학기구분 INT ,
학번 VARCHAR(20) ,
과목번호 VARCHAR(10) ,
개설학년 INT ,
반 VARCHAR(10) ,
학점 DECIMAL(5,2) ,
과목명 VARCHAR(200) ,
과목명영문 VARCHAR(200) ,
학생학년 INT ,
점수 DECIMAL(5,2) ,
총점 DECIMAL(5,2) ,
평점 DECIMAL(5,2) ,
등급 VARCHAR(5)
)
개설강좌
create table 개설강좌(
연도 INT,
학기구분 INT,
개설학년 INT,
반 VARCHAR(10),
과목번호 VARCHAR(10),
과목명 VARCHAR(200),
과목명영문 VARCHAR(200),
학점 DECIMAL(5,2),
수강정원 INT,
담당교사사번 VARCHAR(20),
)
— 개설강좌 테이블에 데이터 입력
INSERT INTO 개설강좌 values(
2018,1,7,A,20180270,IDINO_국어,Korean 7,2.00,50,2006020101
)
INSERT INTO 개설강좌 values(
2018,1,8,A,20180271,IDINO_영어,English 8,2.00,50,2003092901
)
— 테이블 삭제
DROP TABLE 교과_교과목코드;
— 기타 함수
concat 문자열 합치기
replicate 문자열 갯수 지정하기
'정리' 카테고리의 다른 글
MS SQL 설치 오류 (0) | 2020.03.09 |
---|---|
MS-SQL 다운로드 및 실행 (0) | 2020.03.09 |
[데이터베이스 기본]이너 조인(INNER JOIN) 아우터 조인(OUTER JOIN) (0) | 2020.03.06 |
[JAVA] 객체 지향 프로그래밍에서 객체, 클래스, 인스턴스의 개념 (0) | 2020.03.05 |
운영체제 - 가상메모리 (0) | 2020.03.02 |