How to write double Natural Join in SQL?
Your question is a bit unclear - does the 'Type' field
specify 'PC', 'Laptop' or 'Printer' - if so, it's relatively
easy - no need to join at all - just

SELECT * -- or whatever
FROM Product
WHERE Type = 'PC' OR Type = 'Printer'


If 'Type' is not the above, then it's trickier, but
not too difficult. BTW, 'Type' is a keyword in some
RDBMS products - I'd advise changing it to 'p_Type' or
similar.

To solve this, I did the following (SQLFiddle here):

I didn't put in referential constraints - I leave that as an
exercise for yourself :-) (especially since you haven't provided
your particular RDBMS). I also excluded the non-joining fields
(less typing for me :-) )

CREATE TABLE Product
(
  Constructor INT NOT NULL, 
  Model VARCHAR(5) NOT NULL, 
  Type VARCHAR(5) NOT NULL
);

CREATE TABLE PC
(
  Model VARCHAR(5) NOT NULL 
);

CREATE TABLE Laptop
(
  Model VARCHAR(5) NOT NULL
);

CREATE TABLE Printer
(
  Model VARCHAR(5) NOT NULL
);

INSERT INTO Product VALUES( 1, 'm_1', 't_1');
INSERT INTO Product VALUES( 2, 'm_2', 't_1');
INSERT INTO Product VALUES( 3, 'm_3', 't_2');
INSERT INTO Product VALUES( 4, 'm_4', 't_3');

INSERT INTO PC VALUES('m_1');
INSERT INTO PC VALUES('m_2');

INSERT INTO Laptop VALUES ( 'm_3');

INSERT INTO Printer VALUES ('m_4');


The query:

SELECT * -- or whatever
FROM Product
  JOIN PC ON PC.Model = Product.Model
UNION
SELECT * -- or whatever
FROM Product
  JOIN Printer ON Printer.Model = Product.Model


Result:

Constructor Model   Type    Model
1   m_1 t_1 m_1
2   m_2 t_1 m_2
4   m_4 t_3 m_4


Et voilà - the correct result - unless I've misunderstood you?