>  기사  >  데이터 베이스  >  SQL 쿼리에서 테이블 별칭 지정의 핵심 사항(요약 공유)

SQL 쿼리에서 테이블 별칭 지정의 핵심 사항(요약 공유)

WBOY
WBOY앞으로
2022-09-07 14:15:235528검색

이 기사에서는 SQL 서버에 대한 관련 지식을 제공합니다. SQL을 사용하여 테이블 이름이나 열 이름에 대한 별칭을 지정할 수 있습니다. 다음은 SQL 쿼리(중첩 쿼리 포함)를 사용하여 테이블 별칭 지정의 핵심 사항을 소개합니다. 모두에게 도움이 될 것입니다.

SQL 쿼리에서 테이블 별칭 지정의 핵심 사항(요약 공유)

추천 학습: "SQL Tutorial"

공백을 사용하거나 테이블의 별칭을 지정할 수 있습니다

그러나 운영 중인 데이터베이스가 Oracle인 경우에는 공백만 사용할 수 있습니다. Oracle의 구문을 준수합니다.

예를 들어주세요

간단한 쿼리에서 별칭 사용

select *
from student s
where s.id = '10';

간단한 쿼리에서 별칭을 사용하는 것은 일반적으로 특별한 주의가 필요하지 않으며 작업도 덜 필요합니다.

복잡한 쿼리에서 별칭 사용

질문 요약: 세 가지 테이블이 있습니다. 학생(sno, sname, ssex, birthday, class)

score(sno, cno, Degree)

course(cno, cname, tno)

선택과목 "3-105"보다 높은 점수를 쿼리합니다. "109 "번호가 있는 학생의 전체 학생 성적 기록 "입니다.

답변:

select *
 from (select s.sno,s.sname,s.ssex,s.sbirthday,s.class,    sc.degree,c.cno,c.cname,c.tno from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss
 where  ss.cno = '3-105' and ss.degree >( select degree from score where sno = '109' and cno = '3-105');

보시다시피, 작업을 용이하게 하기 위해 테이블 ​​ss를 재정의했습니다. 이 테이블은 위의 세 테이블의 내용도 포함하는 큰 테이블입니다. 하지만 다음 사항에 주의하시기 바랍니다. 그렇지 않으면 실수하기 쉽습니다

새로 정의된 테이블의 모든 값을 표시하고 싶을 때 *

예를 들어 명시된 항목을 변경하는 경우 *

를 사용할 수 없습니다.

select *
 from (select * from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss
 where  ss.cno = '3-105' and ss.degree >( select degree from score where sno = '109' and cno = '3-105');

에 대한 답변 명령줄에는 열이 명확하게 정의되지 않은 것으로 표시됩니다. 이제 열을 새 테이블로 지정하지만 일부 열의 열 이름이 반복되므로 그 중 하나를 지정해야 하기 때문입니다.

중첩 쿼리의 코드는 완전한 실행 섹션이고 처음부터 실행되기 때문에 새로 생성된 테이블을 중첩 쿼리 문에서 사용할 수 없나요? 어쨌든 호출하면 오류가 보고됩니다.

select *
 from (select * from student s , course c ,score sc where s.sno = sc.sno and c.cno = sc.cno) ss
 where  ss.cno = '3-105' and ss.degree >( select degree from ss where sno = '109' and cno = '3-105');

이 SQL에서 하위 쿼리가 ss 새 테이블을 사용하고 컴파일하면 테이블이나 뷰에 오류가 없는 것으로 표시됩니다. 추천 학습: "

SQL Tutorial🎜"🎜

위 내용은 SQL 쿼리에서 테이블 별칭 지정의 핵심 사항(요약 공유)의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
이 기사는 jb51.net에서 복제됩니다. 침해가 있는 경우 admin@php.cn으로 문의하시기 바랍니다. 삭제