Module 3 Part 1 – Documentation, Basic SQL

모듈 3의 비디오에 오신 것을 환영합니다이 비디오에서 우리는 문서 몇 가지 기본 SQL 문을 살펴보십시오

이러한 진술을 작성하는 방법에 대해 배울 수있는 많은 리소스가 있습니다 지정된 교과서 독서를 포함하여 이 비디오는 이미 배정 된 독서 과제를 완료 했으니 나중에 다시 오십시오 당신이 그것을 완료했을 때 또한 스크립트를 실행해야합니다

해당 데이터베이스를 조회하기 위해 XYZ_Medical_DBF 데이터베이스를 작성하십시오 우리 앞에 SQL 문제가 발생했습니다 0 : 00 : 34670,0 : 00 : 39390 설명서를 잠깐

내 검색어를 열면 알 수 있습니다 나는 맨 위에 코멘트를 포함 시켰고, 당신이 볼 수있는 것처럼, 일단 내가 코멘트를하면, 녹색으로 표시됩니다 사용할 수있는 주석에는 두 가지 종류가 있습니다 귀하의 질문에 첫 번째는 내가 여기서 한 일이다

블록 주석이므로 / *로 시작한 다음 * /로 끝내십시오 일반적으로 멀티 라인을 사용하는 경우이 방법이 가장 좋습니다 덧글, 그리고 제 의견으로는 이것이 최상위에 코멘트를 달기 위해 사용하는 것이 가장 좋습니다 이름으로 작성한 모든 SQL 파일, 파일을 만든 날짜, 수정 된 날짜, 수정 된 날짜의 간략한 설명, 스크립트가하는 일에 대한 전반적인 설명 다른 종류의 코멘트는 한 줄 주석으로 입력하면됩니다

두 개의 대시 및 귀하의 의견 필요가 없다 한 줄에 있기 때문에 주석을 "닫습니다" 주석을 자체 행으로 만들거나 SQL 코드 행 뒤에 배치 할 수 있습니다 문서화는 매우 중요합니다

SQL 내에서 문서화해야합니다 쿼리 및 스크립트를 작성하고 필요한 경우 별도의 문서를 작성할 수도 있습니다 아프거나 직장을 그만두고 누군가가 가지고 있다면 훌륭한 문서가 중요합니다 당신을 대신해서 말할 것도없이, 당신은 다른 많은 것을 가질 것입니다 당신이 오직 당신의 데이터베이스를 가끔씩 당신은 그 추론을 잊어 버릴 것입니다

당신이 직접 쓴 쿼리! 특히 검색어가 더 길어지기 시작하면 더 복잡하고 가능한 한 댓글을 달고 문서화해야합니다 그렇게하면 당신과 다른 사람들을위한 시간을 절약 할 수 있습니다 줄을 내려 이제 SQL을 시작해 보겠습니다 문제

당신에게 진술을 보여주기보다는, 좀 더 대화식으로 만들어 보겠습니다 나는 당신이 쓸 것을 요청받는 질문의 몇 가지 예를 썼다 문제를 드리고 동영상 일시 중지를 권장합니다 SQL 문을 직접 작성하십시오 완료되면 동영상을 다시 시작하면됩니다

당신에게 나의 해결책을 보여주고 내가 그 일에 어떻게 접근했는지 보여 주라 SQL 문 작성 너무 많은 시간을 소비하지 말라 나는 너무 스트레스를 받는다 문제를 해결할 수 없다면 우리가 해결책을 검토 할 것임을 기억하십시오

그래서 문제를 읽고 비디오를 일시 중지 할 수 있습니다 그런 다음 솔루션을 볼 준비가되면 다시 돌아옵니다 문제 1 쿼리를 작성하여 전체 주소 (주소 라인 1, 주소 라인 2, 도시, 주 및 우편 번호 데이터베이스에있는 Otherton에 살고있는 사람마다 또는 Skiesville 주소는 "Address"라는 한 열에 각각 표시되어야합니다 주소의 일부는 쉼표로 구분됩니다

귀하의 질문도해야합니다 각 사람의 이름과 성을 선택하십시오 성, 그 다음 이름으로 정렬하십시오 힌트 : 주소가없는 모든 레코드를 가져 오는 ISNULL 함수 여기에 진술이 있습니다 제 성명서에서, person_last_name, person_first_name을 선택합니다 그 다음에 주소 필드 인 person_addrline1, person_addrline_2, person_city, person_state 및 person_zip

더하기 기호를 사용하여 연결합니다 쉼표와 공백을 작은 따옴표로 묶습니다 필드 사이에있는 것들을 연결합니다 이 테이블의 많은 행에 NULL이 있기 때문에 값은 person_addrline_2 필드에서 ISNULL 함수를 사용했습니다 person_addrline_2를 선택하려면 여기를 클릭하십시오

해당 필드가 NULL이면 빈 문자열이 대신 표시됩니다 빈 문자열은 빈 작은 따옴표로 표시됩니다 이 열에 AS 주소를 추가하여 별칭을 지정했습니다 내 열 정의 바로 뒤에 따라서 쿼리 결과에서 우리의 "Address"란 이름의 주소

나는이 칼럼을 사람에게서 선택하고있다 person_city가있는 테이블 (사람으로부터) 안으로있다 Otherton 또는 Skiesville, 나는 person_last_name에 의하여 결과를 주문하고있다, 다음 person_first_name 쿼리를 실행 해 봅시다 결과는 다음과 같습니다 여기에 우리가 작성한 칼럼이 있습니다

주소 연결된 필드와 텍스트로 여기 두 번째 문제가 있습니다 개인 ID, 성, 이름, 생년월일, 성별을 선택하는 쿼리를 작성하십시오 코드 및 나이에 "Age"라는 별칭이 지정됩니다 "Gwendolyn의 올해 나이는 21"형식으로 표시됩니다 선택 만 생일이 1 월 1 일 사이 인 사람 1990 년 12 월 31 일 알파벳 순으로 행을 이름순으로 주문 주문

힌트 : DATEDIFF 함수를 사용하여 각 사람의 나이 주요 기능을 제공하는 기능 이제 비디오를 일시 중지하고이 문제를 해결 한 다음 다시 돌아 오십시오 이 예에서는 의도적으로 오류를 포함 시켰으므로 해결하고 수정할 수 있습니다 내 첫번째 시도는 이것처럼 보이지만, 그것은 나에게 오류를 준다 이 문장에서 person_id, person_last_name, person_first_name을 선택합니다

person_birthdate, person_gender 및 첫 번째 이름 연결 "생일은"이라고 쓰여진 텍스트에 (세 개의 작은 따옴표를 사용해야합니다 아포스트로피를 나타 내기 위해) 연령은 DATEDIFF 함수를 사용하여 얻었습니다 패스 한 첫 번째 인수 DATEDIFF는 시간 단위 (우리는 연도를 사용하기를 원함)이고 다음 두 시간 날짜는 차이를 원하는 날짜입니다 우리는 그 사람의 생년월일에 차이를 보이고 있습니다 오늘 날짜

GETDATE를 사용하여 오늘 날짜를 가져 왔습니다 기능 그리고 우리는 Age로 그 칼럼을 앨리어싱하고 있습니다 열은 Age라고합니다 이 진술은 실제로 나이를 가져옵니다

그 사람은 올해에 선회 할거야 꼭 오늘의 나이가 아닐 수도 있습니다 하지만 이것은 괜찮습니다 초보자 예 이 열을 선택합니다

그 사람의 생년월일 인 사람 테이블에서 1990 년 1 월 1 일부터 2004 년 12 월 31 일까지 BETWEEN 구와 결과를 주문하고 있습니다 person_first_name에 의해 내림차순으로 정렬되므로 행을 이름순으로 나열합니다 하지만 우리가 시작하고있어 상단에서 Z로, 하단에서 A로 이동합니다 이걸 실행할 때 오류는 다음과 같습니다

수신 : "varchar 값을 변환 할 때 변환이 실패했습니다 'Unity의 생일은' 데이터 유형 int 이 오류를 읽을 때, 내 정수 값을 내 문자 값에 연결하려고했습니다 "생일이야"그리고 그것은 효과가 없을거야

너는 오직 할 수있어 정수가 아닌 문자열이나 문자 값을 연결하십시오 그래서 내가 여기서해야 할 일 (그래서 여기에 수정 된 쿼리가 있습니다 나는 이전 쿼리를 주석 처리 할 것입니다) convert 함수를 사용해야했습니다

정수 인 Age 값을 문자 값으로 변환합니다 그래서 내 첫 번째 주장 왜냐하면 나는 변환 할 것이기 때문에 convert 함수는 varchar이다 varchar 데이터 유형 (일반적으로 사용되는 문자 데이터 유형)의 나이 두 번째 인수는 DATEDIFF에 대한 원래 호출입니다 내가 전에 가지고 있었던 실제로 함수를 호출하고 있습니다

함수 내에서 그렇게하면 중첩 된 괄호를 사용하게되고, 그러므로 괄호의 수에주의를 기울여야합니다 그리고 나는 또한 조정했다 나이 필드에 표시되는 문구가 조금 있습니다 더 명확하게 "올해의 나이는" 우리는 올해의 나이가 아니라 반드시 나이를 얻고 있습니다

그러니 업데이트 된 성명