*** 규칙 : --- 어떤 종류의 조인도 사용하지 말고 상관 하위 쿼리를 사용하지 마십시오. --- 쉼표 결합을 사용하지 마십시오. --- 조인을 사용하면 해당 작업에 대한 점수가 없습니다. From 절은 하나의 테이블만을 참조합니다. --- 변수를 사용하지 마십시오.어떤 사람이 mysql에서이 하위 쿼리를 해결할 수 있도록 도와 줄 수 있습니까?
*** 여기 내 문제가 있습니다 : 누군가가 주문한 책의 책 ID와 제목을 표시하며 책은 SQL 책과 atabase 책입니다. 데이터베이스와 SQL을 필터링하려면 Topic_id를 사용하십시오. book_id별로 정렬하십시오.
는 *** 내 answwer는 :
select book_id, title
From a_bkinfo.books
Where book_id IN
(Select book_id
From a_bkinfo.book_topics
Where topic_id = 'DB')
And book_id in
(Select book_id
From a_bkinfo.book_topics
Where topic_id = 'SQL')
order by book_id;
나는이 문제에 -2를 받았다. 선생님의 답변 : -2
*이 책의 주문 여부를 확인하지 못했습니다.
***다음은 관련 테이블입니다. * 테이블 :
---- create order_details ------
create table a_bkorders.order_details (
order_id integer not null
, order_line integer not null
, book_id integer not null
, quantity integer not null
, order_price numeric(6,2) not null
, constraint bk_orderline_pk primary key (order_id, order_line)
, constraint bk_orderline_order_fk foreign key (order_id)
references a_bkorders.order_headers(order_id) on delete cascade
, constraint bk_orderline_book_fk foreign key (book_id)
references a_bkinfo.books(book_id)
, constraint bk_quantity_ck check (quantity > 0)
, constraint bk_ordprice_ck check (order_price >= 0)
) 엔진 = INNODB;
---- create book_topics ----
create table a_bkinfo.book_topics (
book_id integer not null
, topic_id varchar(5) not null
, constraint bk_book_topics_pk primary key (book_id, topic_id)
, constraint bk_books_topics_fk foreign key(topic_id)
references a_bkinfo.topics(topic_id)
, constraint bk_books_id_fk foreign key(book_id)
references a_bkinfo.books(book_id)
) 엔진 = INNODB;
------ create books ------
create table a_bkinfo.books (
book_id integer not null
, title varchar(75) not null
, publ_id integer null
, year_publd integer not null
, isbn varchar(17) null
, page_count integer null
, list_price numeric(6,2) null
, constraint bk_books_pk primary key (book_id)
, constraint bk_books_publ_fk foreign key(publ_id)
references a_bkinfo.publishers (publ_id)
, constraint book_id_range check (book_id > 1000)
, constraint bk_page_count_ck check (page_count >= 0)
, constraint bk_price_ck check (list_price >= 0)
, constraint bk_books_year_ck check (year_publd >= 1850)
)engine = INNODB;
판매의 가장 많은
내가 생각하고 있던 것입니다. 동일한 테이블을 사용하는 경우이 문제는 어떻습니까? 판매량이 가장 많은 책의 ID와 제목을 표시하십시오. 동점을 포함하십시오. 이 쿼리의 경우 판매 된 총 수량을 사용하십시오. 책 판매 결정. – user2690891