0% found this document useful (0 votes)
29 views

Partdesc Unitprice Unitprice Unitprice 5 100 2: Round

The document contains SQL statements for: 1. Selecting and modifying data from various tables 2. Creating views and indexes on tables 3. Performing joins, aggregates, and filtering on the data 4. Inserting, updating, deleting records using transactions The overall purpose is to practice various SQL queries and statements on sample database tables.

Uploaded by

samuraisyah
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
29 views

Partdesc Unitprice Unitprice Unitprice 5 100 2: Round

The document contains SQL statements for: 1. Selecting and modifying data from various tables 2. Creating views and indexes on tables 3. Performing joins, aggregates, and filtering on the data 4. Inserting, updating, deleting records using transactions The overall purpose is to practice various SQL queries and statements on sample database tables.

Uploaded by

samuraisyah
Copyright
© Attribution Non-Commercial (BY-NC)
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 12

--MUHAMMAD ASYRAF BIN MOHAMMAD---CLASS EXERCISES WORK---1-SELECT PARTDESC 'Part Name', UNITPRICE 'Original Price', ROUND(UNITPRICE +(UNITPRICE*5/100),2) 'New

Price' FROM PART;

--2-SELECT ORDNO 'Order Number', QUOTEPRICE 'Price' FROM ORDPART WHERE PARTID = 'DW100' ORDER BY QUOTEPRICE DESC;

--3-USE Orders GO INSERT INTO PART VALUES ('CH500', 'KETTLE', 1, 0.00, 3, 10, 1, 'N'); SELECT 'Order Date'= CASE WHEN DATENAME(D, GETDATE()) IN ('1','21','31') THEN DATENAME(DD,GETDATE())+'st of '+DATENAME(MONTH,GETDATE())+', '+DATENAME(YEAR,GETDATE()) WHEN DATENAME(D, GETDATE()) IN ('2','22') THEN DATENAME(DD,GETDATE())+'nd of '+DATENAME(MONTH,GETDATE())+', '+DATENAME(YEAR,GETDATE()) WHEN DATENAME(D, GETDATE()) IN ('3','23') THEN DATENAME(DD,GETDATE())+'rd of '+DATENAME(MONTH,GETDATE())+', '+DATENAME(YEAR,GETDATE()) ELSE DATENAME(DD,GETDATE())+'th of '+DATENAME(MONTH,GETDATE())+', '+DATENAME(YEAR,GETDATE()) END, UNONHAND 'Qty', 'RM'+CONVERT(VARCHAR, UNITPRICE, 1) 'Price', 'RM'+CONVERT(VARCHAR, UNITPRICE*UNONHAND, 1) 'Total' FROM PART;

--4a-SELECT CONVERT(VARCHAR, ORDS.ORDDTE, 106) 'Order Date', PART.PARTDESC 'Description', ORDPART.QTY 'Qty', ORDPART.QUOTEPRICE 'Price', ORDPART.QTY*ORDPART.QUOTEPRICE 'Total' FROM PART, ORDPART, ORDS WHERE PART.PARTID = ORDPART.PARTID AND ORDPART.ORDNO = ORDS.ORDNO;

--4b---ADDCUST SCRIPT-USE Orders GO INSERT INTO CUST VALUES ('GREEN', '2 JET DRV', 0, 1000, 2); SELECT CUSTNAME 'custname', BALANCE 'balance', ORDNO 'ordno', CONVERT(VARCHAR, ORDDTE, 6) 'Order Date' FROM CUST LEFT JOIN ORDS ON CUST.CUSTNO = ORDS.CUSTNO;

--5a-SELECT COUNT(ORDNO) 'Number Of Orders' FROM ORDPART WHERE PARTID = 'DW100';

--5b-SELECT ORDS.ORDNO 'Order Number', CUST.CUSTNAME 'Customer Name', 'RM'+CAST(SUM(QTY*QUOTEPRICE) AS VARCHAR) 'Total Price' FROM ORDS JOIN CUST ON ORDS.CUSTNO = CUST.CUSTNO JOIN ORDPART ON ORDS.ORDNO = ORDPART.ORDNO GROUP BY ORDS.ORDNO, CUST.CUSTNAME;

--6a-SELECT CUSTNAME 'Customer Name' FROM CUST JOIN ORDS ON CUST.CUSTNO = ORDS.CUSTNO WHERE ORDDTE = (SELECT ORDDTE FROM ORDS WHERE ORDNO = 4);

--6b-SELECT ORDNO, PART.PARTID, PARTDESC FROM ORDPART JOIN PART ON ORDPART.PARTID = PART.PARTID WHERE ORDNO IN ( SELECT ORDNO FROM ORDPART WHERE PARTID IN ( SELECT PARTID FROM ORDPART WHERE ORDNO = 8)) AND ORDNO != 8;

--7-BEGIN TRANSACTION --7a-INSERT INTO CUST VALUES('ASYRAF', '31 TMN BARU', 0.00, 1000.00, 2); SAVE TRANSACTION A --7b-INSERT INTO ORDS VALUES(60, GETDATE(), 7); --ROLLBACK TRANSACTION A-- /*USE IF ERROR*/ SAVE TRANSACTION B --7c-INSERT INTO ORDPART VALUES(60, 'DW100', 1, 900.00); INSERT INTO ORDPART VALUES(60, 'VC100', 1, 230.00); --ROLLBACK TRANSACTION B-- /*USE IF ERROR*/ SAVE TRANSACTION C --7d-UPDATE CUST SET BALANCE = 350.00 WHERE CUSTNO = 7; --ROLLBACK TRANSACTION C-- /*USE IF ERROR*/ SAVE TRANSACTION D --7e-DELETE FROM ORDPART WHERE PARTID = 'DW100' AND ORDNO = 60; --ROLLBACK TRANSACTION D-- /*USE IF ERROR*/ SAVE TRANSACTION E COMMIT TRANSACTION;

--8-CREATE TABLE Owners (OwnerId INT, OwnerFamName VARCHAR(30), OwnerOtherNames VARCHAR(25));

--9a-CREATE TABLE Animal (AnimalId INT NOT NULL, OwnerId INT NOT NULL, AnimalName VARCHAR(25) NOT NULL, Gender VARCHAR(1), Desexed VARCHAR(1) DEFAULT 'N', YrBorn INT, FirstVisit SMALLDATETIME DEFAULT GETDATE() CONSTRAINT Animal_AnimalId_PK PRIMARY KEY (AnimalId));

--9b-ALTER TABLE Owners ALTER COLUMN OwnerId INT NOT NULL; ALTER TABLE Owners ADD CONSTRAINT Owners_OwnerId_PK PRIMARY KEY (OwnerId);

--9c-ALTER TABLE Animal ADD CONSTRAINT Animal_OwnerId_FK FOREIGN KEY (OwnerId) REFERENCES Owners(OwnerId);

--10a-CREATE VIEW CustDet(customer, orddte, ordno, totalamt) AS SELECT CUSTNAME, CONVERT(VARCHAR, ORDDTE, 111), ORDS.ORDNO, SUM(QTY*QUOTEPRICE) FROM ORDS JOIN CUST ON ORDS.CUSTNO = CUST.CUSTNO JOIN ORDPART ON ORDS.ORDNO = ORDPART.ORDNO GROUP BY CUSTNAME, ORDDTE, ORDS.ORDNO ;

--10b-SELECT * FROM CustDet WHERE ordno = 5;

--10c-USE Classwork GO CREATE VIEW DeptVu(DeptNumber, DeptName) AS SELECT DEPTNO, DNAME FROM DEPT;

--10d-INSERT INTO DeptVu VALUES (50, '');

--11a-CREATE INDEX Name_idx ON Owners(OwnerFamName, OwnerOtherNames);

--11b-CREATE SYNONYM Owner20 FOR Orders.dbo.Owners; SELECT OwnerFamName, OwnerOtherNames FROM Owner20;

--12a-SELECT ORDS.ORDNO 'ordno', CONVERT(VARCHAR, ORDDTE, 6) 'Orddte', SUM(QTY*QUOTEPRICE) 'Total' FROM ORDS JOIN ORDPART ON ORDS.ORDNO = ORDPART.ORDNO GROUP BY ORDS.ORDNO, ORDDTE HAVING SUM(QTY*QUOTEPRICE) >= (SELECT SUM(QTY*QUOTEPRICE) FROM ORDPART WHERE ORDNO = 3) AND ORDS.ORDNO != 60;

--12b-SELECT ENAME 'Employee Name', JOB 'Job', SAL 'Salary', D.Total 'Total Salary for The Department' FROM EMP JOIN (SELECT DEPTNO, SUM(SAL) 'Total' FROM EMP GROUP BY DEPTNO)D ON EMP.DEPTNO = D.DEPTNO;

You might also like