View the Exhibit and examine the structure of the PROMOTIONS table.
You need to generate a report of all promos from the PROMOTIONS table based on the following conditions:
1. The promo name should not begin with ‘T’ or ‘N’.
2. The promo should cost more than $20000.
3. The promo should have ended after 1st January 2001.
Which WHERE clause would give the required result?
A.
WHERE promo_name NOT LIKE ‘T%’ OR promo_name NOT LIKE ‘N%’ AND promo_cost >
20000 AND promo_end_date > ‘1-JAN-01’
B.
WHERE (promo_name NOT LIKE ‘T%’ AND promo_name NOT LIKE ‘N%’)OR promo_cost >
20000 OR promo_end_date > ‘1-JAN-01’
C.
WHERE promo_name NOT LIKE ‘T%’ AND promo_name NOT LIKE ‘N%’ AND promo_cost >
20000 AND promo_end_date > ‘1-JAN-01’
D.
WHERE (promo_name NOT LIKE ‘%T%’ OR promo_name NOT LIKE ‘%N%’) AND(promo_cost >
20000 AND promo_end_date > ‘1-JAN-01’)
Shouldnt the answer be A because it says The promo name should not begin with ‘T’ OR ‘N’.
See explanations for the question 117 in 1Z0-051. It is the same question and I copy my answer here:
It has to be:
The promo name should not begin with ‘T’ or ‘N’.
AND
The promo should cost more than $20000.
AND
The promo should have ended after 1st January 2001.
so it is:
promo_name NOT LIKE ‘T%’ AND promo_name NOT LIKE ‘N%’
(cannot be promo_name NOT LIKE ‘T%’ OR promo_name NOT LIKE ‘N%’
because it returns all the rows)
(from math: The negation of a disjunction is the conjunction of the negations, i.e. ~(P or Q) ~P and ~Q )
AND
promo_cost > 20000
AND
promo_end_date > ’1-JAN-01′
@Justyna can u please elaborate a little more..
This is an example of propositional logic (https://en.wikipedia.org/wiki/Propositional_calculus)
If you say that promo name should begin with ‘T’ or ‘N’ then it would be (promo_name LIKE ‘T%’ OR promo_name LIKE ‘N%’), and then you say it shouldn’t, which gets us to this: NOT (promo_name LIKE ‘T%’ OR promo_name LIKE ‘N%’).
According to De Morgan’s theorem (https://en.wikipedia.org/wiki/De_Morgan%27s_laws) – the negation of a disjunction (OR) is the conjunction (AND) of the negations, which means that NOT (promo_name LIKE ‘T%’ OR promo_name LIKE ‘N%’) equals (promo_name NOT LIKE ‘T%’ AND promo_name NOT LIKE ‘N%’).
Hope this clarifies it, cheers…