SQL Program for Student Table Operations
### Step 1: Create the table
CREATE TABLE STUDENTS (
ID_NO NUMBER(4),
S_NAME VARCHAR2(15),
SUB1 NUMBER(3),
SUB2 NUMBER(3),
SUB3 NUMBER(3),
SUB4 NUMBER(3),
SUB5 NUMBER(3),
SUB6 NUMBER(3)
);
### Step 2: Insert records for 10 students
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1001, 'Alice', 85, 90, 88, 92, 87, 89);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1002, 'Bob', 78, 76, 80, 85, 90, 88);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1003, 'Charlie', 82, 84, 78, 80, 79, 85);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1004, 'Diana', 90, 95, 88, 86, 92, 89);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1005, 'Eve', 88, 90, 87, 85, 83, 86);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1006, 'Frank', 70, 72, 68, 65, 75, 78);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1007, 'Grace', 95, 98, 92, 94, 93, 96);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1008, 'Henry', 80, 85, 82, 78, 75, 77);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1009, 'Ivy', 84, 82, 88, 86, 85, 90);
INSERT INTO STUDENTS (ID_NO, S_NAME, SUB1, SUB2, SUB3, SUB4, SUB5, SUB6) VALUES
(1010, 'Jack', 78, 80, 79, 81, 83, 85);
-- Display the table after insertion
SELECT * FROM STUDENTS;
### Step 3: Alter the table
(a) Add a new attribute `GRADE`:
ALTER TABLE STUDENTS ADD GRADE VARCHAR2(2);
DESCRIBE STUDENTS;
(b) Modify the data type of `S_NAME` to `VARCHAR2(20)`:
ALTER TABLE STUDENTS MODIFY S_NAME VARCHAR2(20);
DESCRIBE STUDENTS;
(c) Drop the attribute `GRADE`:
ALTER TABLE STUDENTS DROP COLUMN GRADE;
DESCRIBE STUDENTS;
### Step 4: Update table data
UPDATE STUDENTS
SET SUB1 = 88, SUB2 = 92, SUB3 = 90
WHERE S_NAME = 'Alice';
-- Display the table after update
SELECT * FROM STUDENTS;
### Step 5: Delete records
DELETE FROM STUDENTS
WHERE S_NAME = 'Frank';
-- Display the table after deletion
SELECT * FROM STUDENTS;
### Step 6: Group operations
SELECT
'SUB1' AS SUBJECT,
MIN(SUB1) AS MIN_MARKS,
MAX(SUB1) AS MAX_MARKS,
SUM(SUB1) AS TOTAL_MARKS,
AVG(SUB1) AS AVG_MARKS
FROM STUDENTS
UNION ALL
SELECT
'SUB2', MIN(SUB2), MAX(SUB2), SUM(SUB2), AVG(SUB2)
FROM STUDENTS
UNION ALL
SELECT
'SUB3', MIN(SUB3), MAX(SUB3), SUM(SUB3), AVG(SUB3)
FROM STUDENTS
UNION ALL
SELECT
'SUB4', MIN(SUB4), MAX(SUB4), SUM(SUB4), AVG(SUB4)
FROM STUDENTS
UNION ALL
SELECT
'SUB5', MIN(SUB5), MAX(SUB5), SUM(SUB5), AVG(SUB5)
FROM STUDENTS
UNION ALL
SELECT
'SUB6', MIN(SUB6), MAX(SUB6), SUM(SUB6), AVG(SUB6)
FROM STUDENTS;
### Step 7: Order by
SELECT * FROM STUDENTS
ORDER BY S_NAME DESC;
SELECT * FROM STUDENTS
ORDER BY ID_NO ASC;