Q:

not sure if my query is doing what it supposed to do

I'm not exactly sure if my query is doing what the question is asking. I'm either understanding the question wrong or I'm confused as to what the question wants. But, from what I'm getting from the question is to find all the memberID, firstname, and lastname of all the Member who have check out/or has check out in the past of the book "Harry Potter". 
Here is the question:
List the memberID, firstname, and lastname of the members who have borrowed either currently or in the past all the books in the library with “Harry Potter” in the title. If any of such books have multiple copies, the member must have borrowed at least one copy of each of such books.
Code:
CREATE TABLE Book
    (bookID INT,
    ISBN INT,
    title varchar (60),
    author  varchar (20),
    publish_year INT,
    category varchar(20),
    PRIMARY KEY (bookID));  

CREATE TABLE Member
    (memberID INT,
    lastname varchar (20),
    firstname varchar (20),
    address varchar(20),
    phone_number INT,   
    limit_ INT,
    PRIMARY KEY (memberID));

CREATE TABLE CurrentLoan
    (memberID INT ,
    bookID INT,
    loan_date DATE,
    due_date DATE,
    PRIMARY KEY (memberID, bookID),
    FOREIGN KEY (memberID) REFERENCES Member(memberID),
    FOREIGN KEY (bookID) REFERENCES Book(bookID));

CREATE TABLE History
    (memberID INT,
    bookID INT,
    loan_date DATE,
    return_date DATE,
    PRIMARY KEY (memberID, bookID, loan_date),
    FOREIGN KEY (memberID) REFERENCES Member(memberID),
    FOREIGN KEY (bookID) REFERENCES Book(bookID));

INSERT INTO Book VALUES (10, 7771452369, 'XML and XQuery', 'Author Le', 2017, 'reference');
INSERT INTO Book VALUES (11, 8881245525, 'XQuery: The XML Query Language', 'Jack Se', 2017, 'reference');
INSERT INTO Book VALUES (12, 9991123546, 'Yellow Bird', 'Jake Red', 2014, 'reference');
INSERT INTO BOOK VALUES (13, 1212121212, 'The Giving Tree', 'Shel Silverstein', 1964, 'fiction');
INSERT INTO BOOK VALUES (14, 2121212121, 'Gone Fishing', 'Shel Silverstein', 1964, 'reference');
INSERT INTO BOOK VALUES (15, 1313131313, 'The Lazy Dog', 'Jake Red', 2016, 'childrens');
INSERT INTO BOOK VALUES (16, 3131313131, 'The Red Bird', 'Jake Red', 2016, 'childrens');
INSERT INTO BOOK VALUES (17, 1414141414, 'The Very Blue Boy', 'Ben Jen', 2006, 'fiction');
INSERT INTO Book VALUES (18, 1113312336, 'Harry Potter 1', 'J. K. Rowling', 2000, 'fiction');
Insert INTO Book VALUES (19, 1113331142, 'Harry Potter 1', 'J. K. Rowling', 2000, 'fiction');
INSERT INTO Book VALUES (20, 2221257787, 'The Real Harry Potter 2', 'J. K. Rowling', 2009, 'fiction');
INSERT INTO Book VALUES (21, 2221254896, 'The Fake Harry Potter 3', 'J. K. Rowling', 2010, 'fiction');
INSERT INTO Book VALUES (22, 2221254896, 'The Fake Harry Potter 3', 'J. K. Rowling', 2010, 'fiction');

INSERT INTO Member VALUES (001, 'Lee', 'Nancy', 'Brownlea Drive', 1254896325, 10);
INSERT INTO Member VALUES (002, 'Le', 'Ray', '10th Street', 1234561256, 2);
INSERT INTO Member VALUES (003, 'Kan', 'Charlie', '5th Street', 1234567236, 8);
INSERT INTO Member VALUES (004, 'Brown', 'Joe', 'Elm Street', 1234567845, 9);
INSERT INTO Member VALUES (005, 'Smith', 'John', '33 East', 1234567890, 3);
INSERT INTO Member VALUES (006, 'Kope', 'NON', '358 spence', 2145345625, 5);

INSERT INTO CurrentLoan VALUES (001, 10, '13-SEP-17', '14-NOV-17');
INSERT INTO CurrentLoan VALUES (001, 11, '13-SEP-17', '14-NOV-17');
INSERT INTO CurrentLoan VALUES (001, 18, '13-SEP-17', '14-NOV-17');
INSERT INTO CurrentLoan VALUES (001, 19, '13-SEP-17', '14-NOV-17');
INSERT INTO CurrentLoan VALUES (001, 21, '13-SEP-17', '14-NOV-17');
INSERT INTO CurrentLoan VALUES (001, 22, '13-SEP-17', '14-NOV-17');
INSERT INTO CurrentLoan VALUES (002, 11, '14-FEB-17', '12-MAR-17');
INSERT INTO CurrentLoan VALUES (003, 19, '12-OCT-17', '09-NOV-17');
INSERT INTO CurrentLoan VALUES (004, 13, '12-OCT-17', '09-NOV-17');
INSERT INTO CurrentLoan VALUES (004, 17, '12-OCT-17', '09-NOV-17');

INSERT INTO History VALUES (001, 15, '03-JAN-16', '25-MAY-16');
INSERT INTO History VALUES (001, 21, '03-JAN-16', '25-MAY-16');
INSERT INTO History VALUES (002, 21, '03-JAN-16', '25-MAY-16');
INSERT INTO History VALUES (002, 18, '03-JAN-16', '25-MAY-16');
INSERT INTO History VALUES (002, 15, '03-JAN-16', '25-MAY-16');
INSERT INTO History VALUES (002, 10, '03-JAN-16', '25-MAY-16');
INSERT INTO History VALUES (003, 10, '12-FEB-16', '05-MAY-16');
INSERT INTO History VALUES (004, 13, '12-JUN-16', '05-AUG-16');
COMMIT;

Query:
SELECT memberID, firstname, lastname
FROM (SELECT Member.memberID, firstname, lastname
      FROM Member, Book, CurrentLoan
      WHERE Member.memberID = CurrentLoan.memberID
      AND Book.bookID = CurrentLoan.bookID
      AND Book.title LIKE '%Harry Potter%')
UNION
SELECT memberID, firstname, lastname
FROM (SELECT Member.memberID, firstname, lastname
      FROM Member, Book, History
      WHERE Member.memberID = History.memberID
      AND Book.bookID = History.bookID
      AND Book.title LIKE '%Harry Potter%');

A:

Your code is correct, in terms of providing the correct answer. However, explicit JOIN statements are better, and less prone to misunderstanding. Also, look into the oracle construct of INSERT ALL...
SELECT 
    Member.memberID AS MemberID
  , Member.firstname AS FirstName
  , Member.lastname AS LastName
FROM 
    Member 
        INNER JOIN 
            CurrentLoan ON CurrentLoan.memberID = Member.memberID
        INNER JOIN 
            Book ON CurrentLoan.bookID = Book.bookID 
            AND Book.title LIKE '%Harry Potter%'
UNION SELECT 
      Member.memberID
    , Member.firstname
    , Member.lastname
FROM 
    Member 
        INNER JOIN 
            History ON History.memberID = Member.memberID
        INNER JOIN 
            Book ON History.bookID = Book.bookID 
            AND Book.title LIKE '%Harry Potter%';

UPDATE
If you are looking for only those members who have borrowed all three distinct HP books, then the following query is the one you want. Note that using the existing data, you will not get any results at all. Change the count to 2 to find the members who have read at least 2 books in the series.
SELECT 
      MemberID
    , FirstName
    , LastName
FROM (
    SELECT 
          m.memberID AS MemberID
        , m.firstname AS FirstName
        , m.lastname AS LastName
        , b.Title AS BookTitle
    FROM 
        Member m 
            INNER JOIN CurrentLoan c ON c.memberID = m.memberID
            INNER JOIN Book b ON c.bookID = b.bookID 
                AND b.title LIKE '%Harry Potter%'
    UNION SELECT 
          m.memberID
        , m.firstname
        , m.lastname
        , b.Title
    FROM 
        Member m 
            INNER JOIN History h ON h.memberID = m.memberID
            INNER JOIN Book b ON h.bookID = b.bookID 
                AND b.title LIKE '%Harry Potter%'
) ResultSet
GROUP BY MemberID, FirstName, LastName
HAVING COUNT(DISTINCT BookTitle) = 3;

