|
emp_no |
dept_no | first_name | last_name | salary |
| 7000 | 114 | Read | Vitamin | 62,000 |
| 4000 | 113 | John | Row | 55,000 |
| 5000 | 114 | Robert | Howard | 65,000 |
| 2000 | 112 | Larry | King | 60,000 |
| 1000 | 112 | Philip | Josheph | 65,000 |
| 6000 | 115 | Tony | Peter | 72,000 |
| 3000 | 111 | Micheal | Reed | 46,000 |
| 8000 | 113 | Philip | Josheph | 65,000 |
| 9000 | 115 | Tony | Peter | 72,000 |
| 1100 | 114 | Micheal | Reed | 46,000 |
Follow this command to create a temporary table:
CREATE SET VOLATILE TABLE emp, NO FALLBACK,
CHECKSUM = DEFAULT,
LOG
(
“emp_no” INTEGER,
“dept_no” VARCHAR (10),
“first_name” CHAR (20) CHARACTER SET LATIN NOT CASESPECIFIC,
“last_name” CHAR (20) CHARACTER SET LATIN NOT CASESPECIFIC,
“salary” INTEGER
)
PRIMARY INDEX ( “emp_no” )
ON COMMIT PRESERVE ROWS;
Insert values into this temp table using the following insert commands.
INSERT INTO emp VALUES (1000,112,’Philip’,'Josheph’,65000);
INSERT INTO emp VALUES (2000,112,’Larry’,'King’,60000);
INSERT INTO emp VALUES (3000,111,’Micheal’,'Reed’,46000);
INSERT INTO emp VALUES (4000,113,’John’,'Row’,55000);
INSERT INTO emp VALUES (5000,114,’Robert’,'Howard’,65000);
INSERT INTO emp VALUES (6000,115,’Tony’,'Peter’,72000);
INSERT INTO emp VALUES (7000,114,’Read’,'Vitamin’,62000);
INSERT INTO emp VALUES (8000,113,’Philip’,'Josheph’,65000);
INSERT INTO emp VALUES (9000,115,’Tony’,'Peter’,72000);
INSERT INTO emp VALUES (1100,114,’Micheal’,'Reed’,46000);
1. Selecting all columns and all rows
SELECT *FROM emp;
Result:-
|
emp_no |
dept_no | first_name | last_name | salary |
| 7,000 | 114 | Read | Vitamin | 62,000 |
| 4,000 | 113 | John | Row | 55,000 |
| 5,000 | 114 | Robert | Howard | 65,000 |
| 2,000 | 112 | Larry | King | 60,000 |
| 1,000 | 112 | Philip | Josheph | 65,000 |
| 6,000 | 115 | Tony | Peter | 72,000 |
| 9,000 | 115 | Tony | Peter | 72,000 |
| 8,000 | 113 | Philip | Josheph | 65,000 |
| 3,000 | 111 | Micheal | Reed | 46,000 |
| 1,100 | 114 | Micheal | Reed | 46,000 |
2. Selecting with DISTINCT clause.
SELECT DISTINCT *FROM emp;
Result:-
| emp_no | dept_no | first_name | last_name | salary |
| 1,000 | 112 | Philip | Josheph | 65,000 |
| 1,100 | 114 | Micheal | Reed | 46,000 |
| 2,000 | 112 | Larry | King | 60,000 |
| 3,000 | 111 | Micheal | Reed | 46,000 |
| 4,000 | 113 | John | Row | 55,000 |
| 5,000 | 114 | Robert | Howard | 65,000 |
| 6,000 | 115 | Tony | Peter | 72,000 |
| 7,000 | 114 | Read | Vitamin | 62,000 |
| 8,000 | 113 | Philip | Josheph | 65,000 |
| 9,000 | 115 | Tony | Peter | 72,000 |
Note: – When you use DISTINCT * rows would be ordered
3. Selecting with WHERE Clause
SELECT DISTINCT *
FROM emp
WHERE dept_no = 114 ;
Result :-
|
emp_no |
dept_no | first_name | last_name | salary |
| 1,100 | 114 | Micheal | Reed | 46,000 |
| 5,000 | 114 | Robert | Howard | 65,000 |
| 7,000 | 114 | Read | Vitamin | 62,000 |
4. Selecting with GROUP BY Clause
SELECT emp_no, dept_no, first_name, last_name, salary
FROM emp
WHERE dept_no = 114
GROUP BY emp_no, dept_no, first_name, last_name, salary
Result:-
|
emp_no |
dept_no | first_name | last_name | salary |
| 7,000 | 114 | Read | Vitamin | 62,000 |
| 5,000 | 114 | Robert | Howard | 65,000 |
| 1,100 | 114 | Micheal | Reed | 46,000 |
Note :- When you use GROUP BY, You have to mention column names in the SELECT query and while GROUPING you have the option of either mentioning column names or positional value of the columns as follows
SELECT emp_no, dept_no, first_name, last_name, salary
FROM emp
WHERE dept_no = 114
GROUP BY 1,2,3,4,5
5. Selecting with GROUP BY and ORDER BY Clause
SELECT emp_no, dept_no, first_name, last_name, salary
FROM emp
WHERE dept_no = 114
GROUP BY 1,2,3,4,5
ORDER BY emp_no, dept_no, first_name, last_name, salary
Result:-
|
emp_no |
dept_no | first_name | last_name | salary |
| 1,100 | 114 | Micheal | Reed | 46,000 |
| 5,000 | 114 | Robert | Howard | 65,000 |
| 7,000 | 114 | Read | Vitamin | 62,000 |
Note :- As seen above with the GROUP BY clause while using ORDER BY clause you have the option of either mentioning column names or positional value of the columns as follows:
SELECT emp_no, dept_no, first_name, last_name, salary
FROM emp
WHERE dept_no = 114
GROUP BY 1,2,3,4,5
ORDER BY 1,2,3,4,5
Result:-
|
emp_no |
dept_no | first_name | last_name | salary |
| 1,100 | 114 | Micheal | Reed | 46,000 |
| 5,000 | 114 | Robert | Howard | 65,000 |
| 7,000 | 114 | Read | Vitamin | 62,000 |
Our Random Articles
- Somdev Devvarman ousts Xavier Malisse 6-1, 3-6,7-6(5)
- How To Choose A Good Online Traffic School
- New Year Wishes 2010
- New Year Wishes
- How to use EXTRACT function with date and time columns
More Links




4 Comments
Material that you are providing is very easy to learn. But it is much better than this , if you ll give the full material of this at ONE LINK.
Thank you
Suresh.
That is right Suresh. This is the reason I have given all the links in one page, please visit this
http://readvitamin.com/teradata/
Hope this helps.
Hi. Can anyone tell me how to extract time from timestamp?
For Example
timestamp=’2008-03-28 14:11:04′
i want time ’14:11:04′ from timestamp through query.
Thanks in advance.
Hi Vaideesh,
If you need only time, you can probably try the following;
SELECT time;
To answer your question you should do something like this.
SELECT CAST(VaideeshTime as time(0)) from timestamp;
VaideeshTime
——–
14:11:04
Hope that helps.