The logical operators combine the results of two component conditions to produce a single result.
The logical operators provide by oracle are
- Logical Conjunction Operator - AND
- Logical Disjunction Operator - OR
- Logical Negation Operator - NOT
AND Operator :
- It returns TRUE if both or all component conditions are TRUE.
- It returns FALSE if either is FALSE, else returns unknown.
Truth table :
| AND | TRUE | FALSE | NULL |
|---|---|---|---|
| TRUE | T | F | NULL |
| FALSE | F | F | F |
| NULL | NULL | F | NULL |
Examples :
1.
SELECT Ename, Sal, Deptno, Job
FROM Emp
WHERE Deptno=20 AND Job='MANAGER';
2.
SELECT Empno, Ename, Sal, Job
FROM Emp
WHERE Sal>=1100 AND Job='CLERK';
3.
SELECT Ename, Sal, Job
FROM Emp
WHERE Sal>=1500 AND Sal>5000;
4.
SELECT Ename, Sal, Job
FROM Emp
WHERE Deptno=10 AND Job='CLERK';
5.
SELECT Ename, Sal, Job
FROM Emp
WHERE ( Sal>=1500 AND Sal<=5000) AND Job='MANAGER';
OR Operator :
- It returns TRUE if either of the component condition is true.
- It returns FALSE if both are FALSE, else returns unknown.
Truth table :
| OR | TRUE | FALSE | NULL |
|---|---|---|---|
| TRUE | T | T | T |
| FALSE | T | F | NULL |
| NULL | T | NULL | NULL |
Examples :
1.
SELECT Ename, Sal, Deptno, Job
FROM Emp
WHERE Deptno=20 OR Job='MANAGER';
2.
SELECT Empno, Ename, Sal, Job
FROM Emp
WHERE Sal>=1100 OR Job='CLERK';
3.
SELECT Ename, Sal, Job
FROM Emp
WHERE Sal>=1500 OR Sal>5000;
4.
SELECT Ename, Sal, Job
FROM Emp
WHERE Deptno=10 OR Deptno=20;
5.
SELECT Ename, Sal, Job
FROM Emp
WHERE ( Sal>=1500 OR Sal<=5000) OR Job='MANAGER';
6.
SELECT Ename, Sal, Deptno, Job
FROM Emp
WHERE Job='CLERK' OR Job='MANAGER';
NOT Operator :
- It returns TRUE if the following condition is FALSE.
- It returns FALSE if the following condition is TRUE.
- If the condition is unknown, it returns unknown.
Truth table :
| NOT | TRUE | FALSE | NULL |
|---|---|---|---|
| NOT | F | F | NULL |
Examples :
1.
SELECT Ename, Sal, Job
FROM Emp
WHERE NOT Job='MANAGER';
2.
SELECT Ename, Sal, Hiredate
FROM Emp
WHERE NOT Hiredate='20-FEB-81';
3.
SELECT Ename, Sal, Job
FROM Emp
WHERE NOT Sal>5000;
4.
SELECT Ename, Sal, Job,Deptno
FROM Emp
WHERE NOT Job='SALESMAN' AND Deptno=30;



0 comments
Post a Comment
Do comment to make this blog better