지금 고등학교 수업에서는 MySQL과 특정 기준에 따라 항목을 선택하고 정렬하는 방법을 배우고 있습니다. 예를 들어
으아악이 코드는 내 데이터베이스에서 작동하지만 해결할 수 없는 문제가 하나 있습니다.
문자 "N", "O" 또는 "P"로 시작하는 국가에 대한 모든 데이터를 검색합니다. 정렬해 보세요 이름 가나다순으로 정리했습니다.
와일드카드를 사용해야 한다는 점을 이해하고 모든 것을 시도했지만 작동하지 않습니다. N으로 시작하는 국가만 표시되거나 "null"의 전체 목록이 표시됩니다
현재 코드 쿼리는
입니다. 으아악제가 처리해야 할 다른 과목이 있으면 곧 도움을 주시면 감사하겠습니다
답은 다음과 같습니다. 그러나 더 많은 열과 행, GDP, 기대 수명 등과 같은 데이터를 사용하여 더 자세히 설명합니다.
이름 | 본토 |
---|---|
나미비아 | 아프리카 |
오만 | 아시아 |
파키스탄 | 아시아 |
--------- | --------------- |
Sohail의 답변에 감사드립니다. 문제가 해결되었습니다!
으아아아
내부적으로 패턴 일치가 포함된 3개의 하위 쿼리로 처리되므로 매우 효율적이지 않습니다. 또한 OR을 사용하면 중복 항목이 없음을 알고 있더라도 엔진이 중복 항목을 확인해야 합니다. 이 중 대부분(전부는 아님)이 옵티마이저에 의해 수정되지만 다음과 같이 작성하는 것이 더 낫습니다(그리고 더 읽기 쉽습니다):
으아아아글을 써야 하기 때문에 이것이 효과가 있을 것입니다
으아아아name LIKE 'N%' OR name LIKE ...