Beruflich Dokumente
Kultur Dokumente
EMPLOYEE
CHAR(5) NOT NULL,
CHAR(15) NOT NULL,
CHAR(15) NOT NULL,
DATE NOT NULL,
NUMERIC(7,2),
CHAR(5) NOT NULL,
KEY (EMPID)) IN TRNGDB1.TRNGTS1;
: +,-,*,/
: <,>,<=,>=,=,<>,IN,NOT IN,LIKE,BETWEEN...AND
: AND, OR, NOT
SQL 3 : INSERT
INSERT INTO EMPLOYEE (EMPID,EFNAME,ELNAME,EMPDOB,EMPSAL,EMPDEPT)
VALUES('A0001','JAIKUM','PRADEEP','7/25/1977',7000,'D0001');
NOTE: INSERT BELOW 9 RECORDS
GIVE DATE IN THE FORMAT MM/DD/YYYY OR 'YYYY-MM-DD');
SQL 4 : SELECT
SYNTAX:
SELECT * FROM <TABLE NAME>; - * REFERS TO ALL FIELDS.
SELECT * FROM <TABLE NAME>
[WHERE <CONDITION>]
[GROUPBY <COL>]
[HAVING <CONDITION>]
[ORDER BY <COL>];
SELECT * FROM EMPLOYEE;
OUTPUT
EMPID EFNAME
ELNAME
EMPDOB
EMPSAL EMPDEPT
---------+---------+---------+---------+---------+---------+------+--A0001 JAIKUM
PRADEEP
1977-07-25
7000.00 D0001
A0003 PRIYA
PV
1897-04-05
6000.00 D0002
B0001 ANURAG
GN
1997-07-05
12000.00 D0003
B0004 ABHILASH
GN
1900-12-05
10000.00 D0001
E0001 PRADEEP
PV
1999-11-05
15000.00 D0001
E0003 SEEMA
ROY
1977-08-30
8000.00 D0005
E0005 SINI
VINOD
1956-05-23
20000.00 M0001
E0007 DILEEP
KUMAR
1988-07-12
8000.00 M0001
E0008 DEEP
KU
1981-04-12
5000.00 E0002
E0009 MINI
MA
1981-08-07
9000.00 E0002
SQL 5 : DISPLAY 2 FIELDS - SELECT
SELECT EMPID,EFNAME FROM EMPLOYEE;
OUTPUT
A0001
A0003
B0001
B0004
E0001
E0003
E0005
E0007
E0008
E0009
JAIKUM
PRIYA
ANURAG
ABHILASH
PRADEEP
SEEMA
SINI
DILEEP
DEEP
MINI
E0008
A0003
A0001
E0007
E0003
E0009
B0004
B0001
E0001
E0005
DEEP
PRIYA
JAIKUM
DILEEP
SEEMA
MINI
ABHILASH
ANURAG
PRADEEP
SINI
KU
PV
PRADEEP
KUMAR
ROY
MA
GN
GN
PV
VINOD
1981-04-12
1897-04-05
1977-07-25
1988-07-12
1977-08-30
1981-08-07
1900-12-05
1997-07-05
1999-11-05
1956-05-23
5000.00
6000.00
7000.00
8000.00
8000.00
9000.00
10000.00
12000.00
15000.00
20000.00
E0002
D0002
D0001
M0001
D0005
E0002
D0001
D0003
D0001
M0001
- SELECT
FROM EMPLOYEE;
FROM
EMPLOYEE;
SELECT EMPID, EFNAME, ELNAME, EMPSAL-5000 AS BONUS FROM EMPLOYEE WHERE EMPDEPT LIK
'M%';
OUTPUT
15000.00
3000.00
SQL 20
DAY - 2
SQL 20 : NULL RETRIEVAL
SELECT ELNAME, EFNAME FROM EMPLOYEE WHERE EMPDEPT IS NULL;
SELECT ELNAME, EFNAME FROM EMPLOYEE WHERE EMPDEPT IS NOT NULL;
SQL 21 : GROUP BY & SUM
SELECT EMPDEPT, SUM(EMPSAL) FROM EMPLOYEE GROUP BY EMPDEPT;
OUTPUT
EMPDEPT
D0001
D0002
D0003
D0005
E0002
M0001
[ WHERE <CONDITION> ]
EX:
----DELETE FROM EMP;
DELETE FROM EMP WHERE ENO=100;
DELETE FROM EMPLOYEE WHERE EFNAME='MINI';
SQL 26 : REFERENTIAL INTEGRITY
STEP1.
IN TRNGDB1.TRNGTS1;
STEP2.
STEP3.
STEP4.
CASE
WHEN EMPSL <= 1000
WHEN EMPSL >= 1001
WHEN EMPSL >= 2001
END AS SALARYRANGE
STEP1
CREATE TABLE EMP
( EMPNO
CHAR(4) NOT NULL,
EMPNAME CHAR(10) NOT NULL,
DEPTNO
CHAR(4),
SALARY
DEC(4,0),
PRIMARY KEY(EMPNO)
) IN TRNGDB1.TRNGTS1;
STEP2
CREATE UNIQUE INDEX IDXNM ON EMP(EMPNO);
STEP3
INSERT
INSERT
INSERT
INSERT
INSERT
4 ROWS
INTO EMP
INTO EMP
INTO EMP
INTO EMP
VALUES(E001,A,D001,12000);
VALUES(E002,B,D002,22000);
VALUES(E003,C,D003,32000);
VALUES(E004,D,NULL,42000);
STEP3
CREATE TABLE DEPT
( DEPTNO
CHAR(4) NOT NULL,
DEPNAME CHAR(10)
) IN TRNGDB1.TRNGTS1;
STEP4
CREATE UNIQUE INDEX IDXNM ON EMP(EMPNO);
STEP-5
INSERT
INSERT
INSERT
INSERT
3 ROWS
INTO DEPT VALUES('D001',FINANCE);
INTO DEPT VALUES('D002',ACCOUNTS);
INTO DEPT VALUES('D003',SALES);
STEP6
DISPLAY TABLES
TABLE EMP
SELECT * FROM EMP;
TABLE DEPT
SELECT * FROM DEPT;
STEP7
INNER JOIN ( ONLY MATCHING COLUMNS OF TABLES ARE RETRIEVED)
SELECT EMPNO, DEPTNAME FROM EMP INNER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;
---------+---------+-----EMPNO
DEPTNAME
---------+---------+-----E001
FINANCE
E002
ACCOUNTS
E003
FINANCE
STEP8
OUTER JOIN ( MATCHING & NON-MATCHING ARE RETRIEVED)
LEFT OUTER JOIN
SELECT EMPNO, DEPTNAME FROM EMP LEFT OUTER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;
---------+---------+-----EMPNO
DEPTNAME
---------+---------+-----E001
FINANCE
E002
ACCOUNTS
E003
FINANCE
E004
NULL
RIGHT OUTER JOIN
SELECT EMPNO, DEPTNAME FROM EMP RIGHT OUTER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;
---------+---------+-----EMPNO
DEPTNAME
---------+---------+-----E001
FINANCE
E002
ACCOUNTS
E003
FINANCE
NULL
SALES
FULL OUTER JOIN
SELECT EMPNO, DEPTNAME FROM EMP FULL OUTER JOIN DEPT ON EMP.DEPTNO=DEPT.DEPTNO;
---------+---------+-----EMPNO
DEPTNAME
---------+---------+-----E001
FINANCE
E002
ACCOUNTS
E003
FINANCE
NULL
SALES
E004
NULL
SQL
NOTE NO. OF COLUMNS IN EMP1 & EMP2 SHOULD BE SAME AND THEIR DATATYPE
SHOULD BE COMPATIBLE
SELECT ENO FROM EMP1 UNION SELECT ENO FROM EMP2;
UNION ALL (REDUNDANT DUPLICATES ARE NOT ELIMINATED)
SELECT NAME FROM EMP1 UNION ALL SELECT ENAME FROM EMP2;
SQL 33 : CREATING VIEW
CREATE VIEW EMPVIEW(EMPID,EFNAME,ELNAME,EMPDOB,EMPSAL,EMPDEPT)
AS SELECT * FROM EMPLOYEE ;
DISPLAY DETAILS IN VIEW
SELECT * FROM EMPVIEW;
-----+---------+---------+---------+---------+---------+---------+----EMPID EFNAME
ELNAME
EMPDOB
EMPSAL EMPDEPT
-----+---------+---------+---------+---------+---------+---------+----A0001 JAIKUM
PRADEEP
1977-07-25
7000.00 D0001
A0003 PRIYA
PV
1988-10-02
6000.00 D0002
B0001 ANURAG
GN
1997-07-05
12000.00 D0003
B0004 ABHILASH
GN
1900-12-05
10000.00 D0001
E0001 PRADEEP
PV
1999-11-05
15000.00 D0001
E0003 SEEMA
ROY
1977-08-30
8000.00 D0005
CREATE VIEW EMPVIEW(EMPID,EFNAME,ELNAME,EMPDOB,EMPSAL,EMPDEPT)
AS SELECT * FROM EMPLOYEE WHERE EMPSAL > 5000;
NOT UPDATABLE VIEWS
----------- VIEWS CREATED USING DISTINCT CLAUSE
- VIEWS CREATED USING GROUP FUNCTIONS
- VIEWS CREATED USING GROUP BY CLAUSE
- VIEWS CREATED USING HAVING CLAUSE
- VIEWS CREATED USING SUBQUERIES
- VIEWS CREATED USING JOINS
- VIEWS CREATED FROM MULTIPLE TABLES
UPDATABLE VIEWS
------- ROW COLUMN SUBSET VIEWS EXTRACTED FROM A SINGLE TABLE
2.
3.
5.
6.
SQL 35 : TRIGGER
STEP1 - CREATE TRIGGER TRIG1N AFTER INSERT ON EMPX
FOR EACH ROW MODE DB2SQL
UPDATE EMPTX SET EMPNAME='RAHUL' WHERE EMPNO='A002';
STEP2 - CREATE TRIGGER BOOKS_AFTER_INSERT_ROW
AFTER INSERT ON BOOKS
FOR EACH ROW
(INSERT INTO AUDIT_LOG VALUES ('BOOKS', SYSDATE));
SQL 36 : SELECTING FROM DB2-CATALOG
1.
2.
3.
4.
SELECT * FROM SYSIBM.SYSCOLUMNS WHERE TBCREATOR ='KC02526' AND
TBNAME ='EMPLOYEE';
5.
SELECT * FROM SYSIBM.SYSFOREIGNKEYS WHERE TBNAME='EMP' AND
CREATOR='KC02526';
6.
SELECT * FROM SYSIBM.SYSINDEXES WHERE CREATOR='TRNG555' AND
TBNAME='EMPLOYEE';
7.
8.
9.
10.
11.
12.
13.
- 30 DAYS
FROM
CREATE SYNONYM
Eg.
CREATE SYNONYM S1 FOR ISAM40.EMP
-
USERID.TABLENAME / VIEWNAME
ALIAS
----- ALTERNATE NAME FOR A TABLE OR VIEW
- PUBLIC TO ALL USERS
- GLOBAL OBJECT
- IF BASE TABLE IS DROPPED, ALIAS WILL NOT BE DROPPED
- ALIAS CAN BE CREATED WITHOUT THE BASE TABLE
SYNTAX
- CREATE ALIAS <ALIAS NAME> FOR USERID.TABLENAME/VIEWNAME
Eg.
- CREATE ALIAS AA FOR ISAM40.EMP