Problem
You have a table and want to see only rows that satisfy a specific condition.

Solution
Use the WHERE clause to specify which rows to keep. For example, to view all employees assigned to department number 10:

1 select *
2   from emp
3  where deptno = 10

Discussion
The WHERE clause allows you to retrieve only rows you are interested in. If the expression in the WHERE clause is true for any row, then that row is returned.

Most vendors support common operators such as: =, <, >, <=, >=, !, <>. Additionally, you may want rows that satisfy multiple conditions; this can be done by specifying AND, OR, and parenthesis .

Problem
You have a table and want to see all of the data in it.

Solution
Use the special “*” character and issue a SELECT against the table:

1 select *
2 from emp

Discussion
The character “*” has special meaning in SQL. Using it will return every column for the table specified. Since there is no WHERE clause specified, every row will be returned as well. The alternative would be to list each column individually:

select empno,ename,job,sal,mgr,hiredate,comm,deptno
from emp
In ad hoc queries that you execute interactively, it’s easier to use SELECT *. However, when writing program code it’s better to specify each column individually. The performance will be the same, but by being explicit you will always know what columns you are returning from the query. Likewise, such queries are easier to understand by people other than yourself (who may or may not know all the columns in the tables in the query).