53.다음 중 [주소록] 이라는 연결 테이블의 내용을 [거래처] 테이블에 추가하는 SQL문으로 옳은 것은? (단, 두 테이블은 모두 '거래처번호', '거래처명', '연락처'라는 동일한 데이터 형식과 필드 순서를 갖고 있다. 또한 '거래처번호' 필드를 기준으로 [거래처] 테이블에 존재하지 않는 데이터만을 추가하고자 한다.)
해설
<문제 해설> 삽입(INSERT문) : 테이블에 레코드를 추가할 때 사용한다. [공식] 1.직접 입력하여 추가하기 INSERT INTO 테이블 이름(필드이름1, 필드이름2, ...) VALUES(필드값1, 필드값2, ...) 2.테이블로부터 추가하기 INSERT INTO 테이블 이름(필드이름1, 필드이름2, ...) SELECT 필드 이름 FROM 테이블 이름 WHERE 조건 ====문제 설명 시작================================= 1. insert into 거래처(거래처번호, 거래처명, 연락처) set 주소록 (거래처번호, 거래처명, 연락처) where 거래처번호 is not null [설명] 공식에 없는 INSERT 문이네요 무조건 땡! 2. insert into 거래처 select * from 주소록 where 거래처 번호 not in (select 거래처번호 from 거래처) [설명] SELECT * : 특정 필드가 아닌 전체 필드를 삽입할 때는 필드 이름을 생략하고 애스트리스크(asterisk : *)로 대신 할 수 있습니다. 2번 정답입니다. 3. insert into 거래처 values 주소록(거래처번호, 거래처명, 연락처) [설명] 공식이 맞습니다만, 조건이 빠졌죠. 그래서 이문제도 땡! 4. insert into 거래처(거래처번호, 거래처명, 연락처) select 거래처번호, 거래처명, 연락처 from 주소록 where 거래처번호 not in (select 거래처번호 from 주소록) [설명] 2번 보다 더 정확하게 공식에 대입했네요. FM 대로 했는데 아쉽게도 마지막에 NOT IN 부분에서 '주소록' 테이블의 '거래처번호' 필드가 아니라 '거래처' 테이블의 '거래처번호' 필드 기준으로 존재하지 않는 데이터만 연결 하라고 했으니까 4번도 땡! ====문제 설명 끝================================= ★★★실행 질의의 종류★★★ ※매번 시험 볼 때마다 나온답니다. 암기 해두세요. 1. 삽입(INSERT문) 2. 수정(UPDATE문) : 테이블 필드 값을 변경할 때 사용. 조건을 지정하지 않으면 테이블 내의 전체 레코드에 변경이 이루어진다. [공식] UPDATE 테이블 이름 SET 필드이름1=값1, 필드이름2=값2... WHERE 조건 ※날짜를 조건으로 지정할 때에는 날짜를 #으로 묶어 줘야 합니다. 예) WHERE 판매일 >=#2014-01-12#; 3. 삭제(DELETE문) : 테이블의 레코드를 삭제할 때 사용 조건을 지정하지 않으면 테이블 내의 전체 레코드가 삭제 된다. [공식] DELETE * FROM 테이블 이름 WHERE 조건