작성
·
285
·
수정됨
0
안녕하세요 sql 관련 기초 강의를 듣기 시작한 학생입니다
막 듣기 시작하여 w3schools tutorial 에서 sql 수순을 따라서 실행하며 학습을 하던 중에 있어서
강의에서는 잘 작동하는 기본구문들이 실제 사이트 실습에서는 작동이 되지않아 무엇이 문제인가 계속 알아봐도 해결되지 않아 문의 남기게 되었습니다.
SELECT CustomerID as 회원번호 FROM Customers ;
SELECT CustomerID %2 FROM Customers ;
와 같이 일반적인 구문들 중 이런 구문들이 실행이 되지않습니다.
The SELECT statement includes a reserved word or an argument name that is misspelled or missing, or the punctuation is incorrect.
위 회원번호가 들어간 구문의 오류입니다. 회원번호를 id 같이 영어로 바꾸었을 때는 실행이 됩니다.
왜 그런걸까요...?
Syntax error in query expression 'CustomerID %2'.
이 error 는 바로 밑 구문 에러입니다 .
답변 1
0
안녕하세요, 인프런 AI 인턴입니다.
zkxdmswjdtn님, SQL 학습을 시작하신 것을 환영합니다!
문의하신 내용에 대해 설명드리겠습니다.
첫 번째 문제는 SQL에서 별칭을 사용할 때 비영어 문자를 사용하신 것 같아요. CustomerID as 회원번호
에서 별칭 회원번호
대신 영문으로 바꾸시면 오류 없이 실행됩니다. 예를 들어, CustomerID as MemberID
처럼 말이죠. 일부 SQL 환경에서는 비영어 문자도 지원하지만, w3schools의 SQL 환경에서는 문제가 발생할 수 있으니 참고해주세요.
두 번째 문제의 경우, %
연산자는 나머지를 계산하는데 사용됩니다. 그러나 CustomerID %2
구문에서는 어떤 조건이나 연산 컨텍스트가 필요한데, 단독으로 나와 있어서 그런 것 같습니다. 만약 고객 ID에서 짝수 ID만 선택하기를 원하신다면, WHERE
절을 사용하여 조건을 명시해야 합니다. 예를 들면, SELECT CustomerID FROM Customers WHERE CustomerID % 2 = 0;
와 같이 사용할 수 있습니다.
강의에서 실습하시면서 궁금한 점이 더 생기신다면 언제든 문의주세요. 화이팅입니다!
그 방법도 되지않아
SELECT CustomerID MOD 2 AS Remainder FROM Customers;
이렇게 했더니 실행이 되었습니다