├── sql ├── Exp-1.pdf ├── Exp-2.pdf ├── Exp-3.pdf ├── Exp-4.pdf ├── Exp-5.pdf ├── Exp-6.pdf ├── README.md ├── exp5.md ├── exp3.md ├── exp1.md ├── exp6.md ├── exp4.md └── exp2.md └── README.md /sql/Exp-1.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpha74/DBMS-MySQL/HEAD/sql/Exp-1.pdf -------------------------------------------------------------------------------- /sql/Exp-2.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpha74/DBMS-MySQL/HEAD/sql/Exp-2.pdf -------------------------------------------------------------------------------- /sql/Exp-3.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpha74/DBMS-MySQL/HEAD/sql/Exp-3.pdf -------------------------------------------------------------------------------- /sql/Exp-4.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpha74/DBMS-MySQL/HEAD/sql/Exp-4.pdf -------------------------------------------------------------------------------- /sql/Exp-5.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpha74/DBMS-MySQL/HEAD/sql/Exp-5.pdf -------------------------------------------------------------------------------- /sql/Exp-6.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alpha74/DBMS-MySQL/HEAD/sql/Exp-6.pdf -------------------------------------------------------------------------------- /sql/README.md: -------------------------------------------------------------------------------- 1 | ## Experiment and Solution sets 2 | 3 | - **.pdf** files contain problem statements. 4 | - Corresponding numbered **.md** files contain solution SQL queries. 5 | - To be used for sharpening basic SQL skills of course DBMS. 6 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # DBMS - SQL 2 | 3 | - Content related to Database Management Systems and Structured Query Language 4 | - Contains Query question sheet along with corresponding SQL queries. 5 | - Tested in MySQL package in XAMPP, MySQL Workbench. 6 | -------------------------------------------------------------------------------- /sql/exp5.md: -------------------------------------------------------------------------------- 1 | # Solution : Experiment-5 2 | 3 | 4 | **AIM**: Implementation of the advanced ad-hoc query applications in a relational database is using SQL. 5 | 6 | --- 7 | 8 | 1. ``` 9 | SELECT enum, name, dnum, sal FROM emp GROUP BY dnum ASC, sal DESC ; 10 | ``` 11 | 12 | 2. ``` 13 | SELECT emp.name AS name, dept.name AS department 14 | -> FROM emp, dept 15 | -> WHERE emp.dnum = dept.dnum 16 | -> AND emp.tax = 0 ; 17 | ``` 18 | 19 | 3. ``` 20 | SELECT supplier.snum AS snum, supplier.name AS name, SUM( supply.qty ) AS tot_qty 21 | -> FROM supplier, supply 22 | -> WHERE supplier.snum = supply.snum 23 | -> GROUP BY snum ; 24 | ``` 25 | 26 | 4. ``` 27 | SELECT * FROM emp WHERE name LIKE '%Jyoti%' AND sal > 900000.00 ; 28 | ``` 29 | 30 | 5. ``` 31 | CREATE VIEW emp_dept AS ( SELECT emp.enum AS enum, emp.name AS name, dept.name AS dept_name, dept.area AS area 32 | -> FROM emp, dept WHERE emp.dnum = dept.dnum ) ; 33 | ``` 34 | 35 | 6. ``` 36 | SELECT * FROM emp_Dept GROUP BY dnum ASC ; 37 | ``` 38 | 39 | 7. ``` 40 | SELECT enum, name FROM emp 41 | -> WHERE sal BETWEEN 140000.00 AND 500000.00 42 | -> AND tax = 0 ; 43 | ``` 44 | 45 | 8. ``` 46 | SELECT AVG( tax ) AS avg_tax FROM emp GROUP BY dnum ; 47 | ``` 48 | 49 | 9. ``` 50 | INSERT INTO dept VALUES 51 | -> ( 25, 'Administration', 'S', 25 ) ; 52 | 53 | INSERT INTO supplier VALUES 54 | -> ( 125, 'Eureka Solutions', 'DLH' ) ; 55 | 56 | INSERT INTO supply VALUES 57 | -> ( 'ST99', 125, 25, 800 ) ; 58 | ``` 59 | 60 | 10. ``` 61 | -> SELECT * FROM emp ; 62 | -> SELECT * FROM dept ; 63 | -> SELECT * FROM supply ; 64 | -> SELECT * FROM supplier ; 65 | ``` 66 | 67 | --- 68 | -------------------------------------------------------------------------------- /sql/exp3.md: -------------------------------------------------------------------------------- 1 | # Solution : Experiment-3 2 | 3 | **AIM**: Demonstration of relational database creation EMPLOYEE and execution of simple queries. 4 | 5 | --- 6 | 7 | 1. 8 | ``` 9 | CREATE TABLE employee 10 | -> ( 11 | -> enum numeric(4,0) not null unique primary key, 12 | -> fname varchar(15) not null, 13 | -> mname varchar(1), 14 | -> lname varchar(15) not null, 15 | -> birthdate date not null, 16 | -> gender enum( 'M', 'F'), 17 | -> ssn varchar(10) not null unique, 18 | -> job_title enum( 'Lecturer', 'Professor', 'Asst. Professor', 'Sr. Lecturer' ) not null, 19 | -> salary numeric(7,2) not null, 20 | -> hiredate date not null, 21 | -> tax numeric(6,2) not null, 22 | -> department enum('Biotechnology', 'Computer Science', 'Nano Technology', 'Information Technology' ) not null 23 | -> ); 24 | 25 | 26 | 27 | +------------+-------------------------------------------------------------------------------------+------+-----+---------+-------+ 28 | | Field | Type | Null | Key | Default | Extra | 29 | +------------+-------------------------------------------------------------------------------------+------+-----+---------+-------+ 30 | | enum | decimal(4,0) | NO | PRI | NULL | | 31 | | fname | varchar(15) | NO | | NULL | | 32 | | mname | varchar(1) | YES | | NULL | | 33 | | lname | varchar(15) | NO | | NULL | | 34 | | birthdate | date | NO | | NULL | | 35 | | gender | enum('M','F') | YES | | NULL | | 36 | | ssn | varchar(10) | NO | UNI | NULL | | 37 | | job_title | enum('Lecturer','Professor','Asst. Professor','Sr. Lecturer') | NO | | NULL | | 38 | | salary | decimal(7,2) | NO | | NULL | | 39 | | hiredate | date | NO | | NULL | | 40 | | tax | decimal(6,2) | NO | | NULL | | 41 | | department | enum('Biotechnology','Computer Science','Nano Technology','Information Technology') | NO | | NULL | | 42 | +------------+-------------------------------------------------------------------------------------+------+-----+---------+-------+ 43 | ``` 44 | 45 | 2. 46 | ``` 47 | INSERT INTO employee VALUES ( '9201', 'Sangeet', 'R', 'Shrama', '1965-11-08', 'M', '11MH456633', 'Professor', 1200900.00, '1990-12-16', 120090.00, 'Computer Science' ) ; 48 | ``` 49 | 50 | 3. 51 | ``` 52 | SELECT * FROM employee WHERE job_title = 'Professor' ; 53 | ``` 54 | 55 | 4. 56 | ``` 57 | -> SELECT enum, fname, mname, lname, birthdate, salary, gender FROM employee ; 58 | -> SELECT enum, ssn, job_title, department, hiredate, tax FROM employee ; 59 | ``` 60 | 5. 61 | ``` 62 | UPDATE employee SET job_title = 'Asst. Professor' WHERE enum = '9204' ; 63 | ``` 64 | 65 | 6. 66 | ``` 67 | DELETE FROM employee WHERE fname = 'Jyotirmay' AND hiredate = '1999-04-25' AND job_title = 'Sr. Lecturer' ; 68 | ``` 69 | 70 | 7. 71 | ``` 72 | START TRANSACTION ; 73 | 74 | ROLLBACK ; 75 | ``` 76 | 77 | 8. 78 | ``` 79 | SELECT fname, ssn, job_title as designation, department FROM employee ; 80 | ``` 81 | 82 | 9. 83 | ``` 84 | -> INSERT INTO employee VALUES 85 | -> ( '9211', 'Deepak', 'M', 'Lakhanpal', '1978-02-28', 'M', '14OR333567', 'Lecturer', 120000.00, '1999-04-22', 12000.00, 'Biotechnology' ) ; 86 | ``` 87 | 88 | --- 89 | 90 | 91 | -------------------------------------------------------------------------------- /sql/exp1.md: -------------------------------------------------------------------------------- 1 | # Solution : Experiment-1 2 | 3 | 4 | **AIM**: The study of Data Definition Language and Data Manipulation Language. 5 | 6 | 7 | 8 | ------ 9 | ### Part-A 10 | ------ 11 | 12 | 1. ``` 13 | > CREATE TABLE CUSTOMER 14 | > ( 15 | > first_name varchar(15) not null unique, 16 | > last_name varchar(15) not null, 17 | > address varchar(35) default 'NULL', 18 | > city varchar(15) default 'NULL', 19 | > country varchar(15) default 'NULL', 20 | > birth_date date, 21 | > primary key( first_name, last_name ) 22 | > ) ; 23 | ``` 24 | 25 | 2. ``` 26 | > INSERT INTO CUSTOMER VALUES ( "John", "Smith", "Western Road", "New York", "USA", '1969-12-12' ); 27 | > INSERT INTO CUSTOMER VALUES ( "David", "Stonewall", "Park Avenue", "San Francisco", "USA", '1954-01-03' ); 28 | > INSERT INTO CUSTOMER VALUES ( "Susan", "Grant", "Lord Park", "Los Angeles", "USA", '1970-03-03' ); 29 | > INSERT INTO CUSTOMER VALUES ( "Paul", "O'Neil", "Red Cross", "New York", "USA", '1982-09-17' ); 30 | > INSERT INTO CUSTOMER VALUES ( "Stephen", "Grant", "Carpet Road", "Los Angeles", "USA", '1974-03-03' ) ; 31 | ``` 32 | 33 | 34 | 3. ``` 35 | > ALTER TABLE CUSTOMER ADD ( gender varchar(1) ) ; 36 | ``` 37 | 38 | 4. ``` 39 | > ALTER TABLE CUSTOMER ADD ( telephone varchar(11) COMMENT 'Tel. phone numbers may contain special characters' ) ; 40 | ``` 41 | 42 | 5. ``` 43 | > ALTER TABLE CUSTOMER MODIFY address varchar(80) ; 44 | 45 | 46 | +------------+-------------+------+-----+---------+-------+ 47 | | Field | Type | Null | Key | Default | Extra | 48 | +------------+-------------+------+-----+---------+-------+ 49 | | first_name | varchar(15) | NO | PRI | NULL | | 50 | | last_name | varchar(15) | NO | PRI | NULL | | 51 | | address | varchar(80) | YES | | NULL | | 52 | | city | varchar(15) | YES | | NULL | | 53 | | country | varchar(15) | YES | | NULL | | 54 | | birth_date | date | YES | | NULL | | 55 | | gender | varchar(1) | YES | | NULL | | 56 | | email | varchar(35) | NO | | NULL | | 57 | | telephone | varchar(11) | YES | | NULL | | 58 | +------------+-------------+------+-----+---------+-------+ 59 | ``` 60 | 61 | 62 | 63 | 64 | ---- 65 | Part-B 66 | ---- 67 | 68 | 1. ``` 69 | > CREATE TABLE STUDENT ( roll_no varchar(10) not null unique primary key, sname varchar(30) not null, maths numeric(4) not null, chem numeric(4) not null, phy numeric(4) not null ); 70 | ``` 71 | 72 | 2. ``` 73 | > INSERT INTO STUDENT VALUES ( 'CSE022', 'Raj Malhotra', 70, 80, 90 ) ; 74 | > INSERT INTO STUDENT VALUES ( 'CSE012', 'Gopal Tyagi', 97, 62, 82 ) ; 75 | > INSERT INTO STUDENT VALUES ( 'CSE015', 'Gopal Tyagi', 97, 62, 82 ); 76 | > INSERT INTO STUDENT VALUES ( 'CSE018', 'Ganesh Trivedi', 86, 82, 72 ); 77 | > INSERT INTO STUDENT VALUES ( 'CSE028', 'Shivraj Ojha', 76, 87, 91 ); 78 | ``` 79 | 80 | 3. ``` 81 | > ALTER TABLE STUDENT ADD ( total numeric(5) not null ) ; 82 | ``` 83 | 84 | 4. ``` 85 | > UPDATE STUDENT SET total = maths + phy + chem ; 86 | 87 | 88 | +---------+--------------+------+-----+---------+-------+ 89 | | Field | Type | Null | Key | Default | Extra | 90 | +---------+--------------+------+-----+---------+-------+ 91 | | roll_no | varchar(10) | NO | PRI | NULL | | 92 | | sname | varchar(30) | NO | | NULL | | 93 | | maths | decimal(4,0) | NO | | NULL | | 94 | | chem | decimal(4,0) | NO | | NULL | | 95 | | phy | decimal(4,0) | NO | | NULL | | 96 | | total | decimal(5,0) | NO | | NULL | | 97 | +---------+--------------+------+-----+---------+-------+ 98 | ``` 99 | 100 | 101 | 5. ``` 102 | > ALTER TABLE STUDENT ADD ( average numeric(5,2) not null ) ; 103 | 104 | +---------+--------------+------+-----+---------+-------+ 105 | | Field | Type | Null | Key | Default | Extra | 106 | +---------+--------------+------+-----+---------+-------+ 107 | | roll_no | varchar(10) | NO | PRI | NULL | | 108 | | sname | varchar(30) | NO | | NULL | | 109 | | maths | decimal(4,0) | NO | | NULL | | 110 | | chem | decimal(4,0) | NO | | NULL | | 111 | | phy | decimal(4,0) | NO | | NULL | | 112 | | total | decimal(5,0) | NO | | NULL | | 113 | | average | decimal(5,2) | NO | | NULL | | 114 | +---------+--------------+------+-----+---------+-------+ 115 | ``` 116 | 117 | 6. ``` 118 | > UPDATE STUDENT SET average = total/3 ; 119 | ``` 120 | 121 | 122 | 123 | --- 124 | -------------------------------------------------------------------------------- /sql/exp6.md: -------------------------------------------------------------------------------- 1 | # Solution : Experiment-6 2 | 3 | **AIM**: Establishing an environment for relational database management and data retrieval for the given database. Also, implementation of the ad-hoc query applications in a relational database using SQL. 4 | 5 | --- 6 | 7 | 8 | 9 | CREATE TABLE pilot 10 | -> ( 11 | -> enum numeric(3) not null unique, 12 | -> license varchar(5), 13 | -> rating varchar(25), 14 | -> med_type char(1), 15 | -> med_date date, 16 | -> pt135_date date, 17 | -> constraint pk_id primary key( enum ), 18 | -> constraint enum_ck check( enum > 100 ) 19 | -> ) ; 20 | 21 | 22 | 23 | CREATE TABLE employee 24 | -> ( 25 | -> enum numeric(3) not null unique, 26 | -> title char(3), 27 | -> lname varchar(15), 28 | -> fname varchar(15), 29 | -> initial char(1), 30 | -> dob date, 31 | -> hire_date date, 32 | -> constraint pk_id primary key( enum ), 33 | -> constraint enum_ck check( enum > 100 ) 34 | -> ) ; 35 | 36 | 37 | CREATE TABLE aircraft 38 | -> ( 39 | -> ac_number char(5) not null unique, 40 | -> mod_code varchar(10), 41 | -> ac_ttaf numeric(7,1), 42 | -> ac_ttel numeric(7,1), 43 | -> ac_tier numeric(7,1), 44 | -> constraint pk_id primary key( ac_number) 45 | -> ) ; 46 | 47 | 48 | 49 | CREATE TABLE charter 50 | -> ( 51 | -> ctr_trip numeric(5,0) not null unique, 52 | -> ctr_date date not null, 53 | -> ctr_pilot numeric(3,0), 54 | -> ctr_copilot numeric(3), 55 | -> ac_number char(5), 56 | -> ctr_destination char(5), 57 | -> ctr_distance numeric(4), 58 | -> hrs_flown numeric(4,1), 59 | -> hrs_wait numeric(4,1), 60 | -> fuel_gallons numeric(6,1), 61 | -> ctr_oil_qts numeric(1), 62 | -> code numeric(5), 63 | -> constraint pk_id primary key( ctr_trip ), 64 | -> constraint ctr_trip_ck check( ctr_trip > 10000 AND ctr_trip < 10100 ) 65 | -> ) ; 66 | 67 | ALTER TABLE charter 68 | -> ADD constraint fk_id1 foreign key( ac_number ) references aircraft( ac_number ) ; 69 | 70 | 71 | CREATE TABLE customer 72 | -> ( 73 | -> code numeric(5) not null unique, 74 | -> clname varchar(15), 75 | -> cfname varchar(15), 76 | -> cinitial char(1), 77 | -> careacode numeric(3), 78 | -> cphone char(8), 79 | -> cbalance numeric(9,2), 80 | -> constraint pk_id primary key( code ), 81 | -> constraint code_ck check( code >= 10010 ) 82 | -> ) ; 83 | 84 | 85 | CREATE TABLE model 86 | -> ( 87 | -> mcode varchar(10) not null unique, 88 | -> m_mfgr varchar(15), 89 | -> m_name varchar(20), 90 | -> m_seats numeric(2), 91 | -> m_chg_mile numeric(6,2), 92 | -> constraint pk_id primary key( mcode ) 93 | -> ) ; 94 | 95 | ----------------- 96 | 97 | 1. ``` 98 | SELECT ctr_date, ac_number, ctr_destination, ctr_distance, hrs_flown 99 | -> FROM charter 100 | -> WHERE ac_number = '2278V' ; 101 | ``` 102 | 103 | 2. ``` 104 | CREATE VIEW AC778V 105 | -> AS 106 | -> SELECT ctr_date, ac_number, ctr_destination, ctr_distance, hrs_flown 107 | -> FROM charter 108 | -> WHERE ac_number = '2278V' ; 109 | ``` 110 | 111 | 3. ``` 112 | SELECT charter.ctr_date, customer.cphone, charter.ac_number, customer.careacode, charter.ctr_destination, charter.code 113 | -> FROM charter, customer 114 | -> WHERE charter.code = customer.code ; 115 | ``` 116 | 117 | 4. ``` 118 | SELECT charter.ctr_Date, charter.ac_number, customer.cfname, customer.clname 119 | -> FROM charter, customer 120 | -> WHERE charter.code = customer.code AND charter.ac_number = '2278V'; 121 | ``` 122 | 123 | 5. ``` 124 | SELECT clname, cfname, cbalance 125 | -> FROM customer 126 | -> WHERE cbalance > 0 GROUP BY cbalance DESC ; 127 | ``` 128 | 129 | 6. ``` 130 | SELECT AVG(cbalance) as avg_bal, MIN(cbalance) as min_bal, MAX(cbalance) as max_bal, SUM(cbalance) as total_bal 131 | -> FROM customer ; 132 | ``` 133 | 134 | 7. ``` 135 | SELECT ac_number, COUNT(ac_number) as num_of_trips, SUM(ctr_distance) as total_distance, AVG(ctr_distance) as avg_distance, 136 | -> SUM(hrs_flown) as total_hrs, AVG(hrs_flown) as avg_hrs 137 | -> FROM charter 138 | -> GROUP BY ac_number ; 139 | ``` 140 | 141 | 8. ``` 142 | SELECT charter.ctr_Date, charter.ac_number, employee.initial as mname, charter.ctr_pilot, employee.lname, charter.hrs_flown 143 | -> FROM charter, employee 144 | -> WHERE charter.ctr_pilot = employee.enum 145 | -> AND charter.ctr_pilot = '' ; 146 | ``` 147 | 148 | 9. ``` 149 | UPDATE aircraft SET aircraft.ac_ttaf = sum_hrs.sum_flown 150 | -> AND aircraft.ac_ttel = sum_hrs.sum_total 151 | -> WHERE aircraft.ac_number = sum_hrs.ac_number ; 152 | ``` 153 | 154 | 10. ``` 155 | CREATE TRIGGER trg_ctr_hrs 156 | -> AFTER INSERT ON aircraft 157 | -> REFERENCING NEW ROW AS nrow 158 | -> for each row 159 | -> begin 160 | -> UPDATE aircraft SET aircraft.ac_ttaf = sum_hrs.sum_flown 161 | -> AND aircraft.ac_ttel = sum_hrs.sum_total 162 | -> WHERE aircraft.ac_number = sum_hrs.ac_number ; 163 | -> end ; 164 | ``` 165 | 166 | --- 167 | -------------------------------------------------------------------------------- /sql/exp4.md: -------------------------------------------------------------------------------- 1 | # Solution : Experiment-4 2 | 3 | 4 | **AIM**: Establishing an environment for relational database management and data retrieval from Oracle. 5 | 6 | --- 7 | 8 | 9 | +-------+--------------+------+-----+---------+-------+ 10 | | Field | Type | Null | Key | Default | Extra | 11 | +-------+--------------+------+-----+---------+-------+ 12 | | enum | decimal(4,0) | NO | PRI | NULL | | 13 | | name | varchar(15) | NO | | NULL | | 14 | | sal | decimal(9,2) | NO | | NULL | | 15 | | tax | decimal(8,2) | YES | | NULL | | 16 | | dnum | decimal(3,0) | NO | MUL | NULL | | 17 | | mgr | decimal(3,0) | NO | | NULL | | 18 | +-------+--------------+------+-----+---------+-------+ 19 | 20 | 21 | +-------+--------------+------+-----+---------+-------+ 22 | | Field | Type | Null | Key | Default | Extra | 23 | +-------+--------------+------+-----+---------+-------+ 24 | | dnum | decimal(3,0) | NO | PRI | NULL | | 25 | | name | varchar(20) | NO | | NULL | | 26 | | area | varchar(1) | NO | | NULL | | 27 | | mgr | decimal(3,0) | YES | UNI | NULL | | 28 | +-------+--------------+------+-----+---------+-------+ 29 | 30 | 31 | +-------+--------------+------+-----+---------+-------+ 32 | | Field | Type | Null | Key | Default | Extra | 33 | +-------+--------------+------+-----+---------+-------+ 34 | | snum | decimal(3,0) | NO | PRI | NULL | | 35 | | name | varchar(25) | NO | | NULL | | 36 | | city | char(3) | NO | | NULL | | 37 | +-------+--------------+------+-----+---------+-------+ 38 | 39 | 40 | +-------+--------------+------+-----+---------+-------+ 41 | | Field | Type | Null | Key | Default | Extra | 42 | +-------+--------------+------+-----+---------+-------+ 43 | | pnum | char(4) | NO | PRI | NULL | | 44 | | snum | decimal(3,0) | NO | PRI | NULL | | 45 | | dnum | decimal(3,0) | NO | PRI | NULL | | 46 | | qty | decimal(4,0) | YES | | NULL | | 47 | +-------+--------------+------+-----+---------+-------+ 48 | 49 | 50 | --- 51 | 52 | 1. ``` 53 | SELECT name, sal FROM emp WHERE dnum = 26 ; 54 | ``` 55 | 56 | 2. ``` 57 | SELECT DISTINCT(supplier.name), dept.dnum, dept.name 58 | -> FROM supplier, dept, supply 59 | -> WHERE supplier.snum = supply.snum AND 60 | -> dept.dnum = supply.dnum 61 | -> AND dept.name = 'Personnel' ; 62 | ``` 63 | 64 | 3. ``` 65 | SELECT DISTINCT(supplier.name) 66 | -> FROM supplier, dept, supply 67 | -> WHERE supplier.snum = supply.snum AND 68 | -> dept.dnum = supply.dnum 69 | -> AND supplier.city = 'UMR' 70 | -> AND dept.area = 'N' ; 71 | ``` 72 | 73 | 4. ``` 74 | SELECT emp.name, dept.name 75 | -> FROM emp, dept 76 | -> WHERE emp.dnum = dept.dnum 77 | -> AND 78 | -> emp.name LIKE 'A%' ; 79 | ``` 80 | 81 | 5. ``` 82 | SELECT supplier.name, supply.qty, dept.name 83 | -> FROM supplier, supply, dept 84 | -> WHERE supplier.snum = supply.snum 85 | -> AND supply.dnum = dept.dnum 86 | -> AND supply.pnum = 'KK78' ; 87 | ``` 88 | 89 | 6. ``` 90 | CREATE TABLE emp_admn AS ( SELECT enum, name, dnum, mgr FROM emp ) ; 91 | 92 | 93 | +-------+--------------+------+-----+---------+-------+ 94 | | Field | Type | Null | Key | Default | Extra | 95 | +-------+--------------+------+-----+---------+-------+ 96 | | enum | decimal(4,0) | NO | | NULL | | 97 | | name | varchar(15) | NO | | NULL | | 98 | | dnum | decimal(3,0) | NO | | NULL | | 99 | | mgr | decimal(3,0) | NO | | NULL | | 100 | +-------+--------------+------+-----+---------+-------+ 101 | 102 | CREATE TABLE emp_pay AS ( SELECT enum, name, sal, tax FROM emp ) ; 103 | 104 | 105 | +-------+--------------+------+-----+---------+-------+ 106 | | Field | Type | Null | Key | Default | Extra | 107 | +-------+--------------+------+-----+---------+-------+ 108 | | enum | decimal(4,0) | NO | | NULL | | 109 | | name | varchar(15) | NO | | NULL | | 110 | | sal | decimal(9,2) | NO | | NULL | | 111 | | tax | decimal(8,2) | YES | | NULL | | 112 | +-------+--------------+------+-----+---------+-------+ 113 | ``` 114 | 115 | 7. ``` 116 | SELECT enum, name, sal AS grs_pay, (sal-tax) AS net_pay FROM emp ; 117 | ``` 118 | 119 | 8. ``` 120 | INSERT INTO dept VALUES 121 | -> ( 988, 'Inventory&Purchase', 'S', 23 ) ; 122 | 123 | INSERT INTO emp VALUES 124 | -> ( 9218, 'Jyotika', 890270.00, 89000.00, 988, 23 ) ; 125 | ``` 126 | 127 | 9. ``` 128 | SELECT emp.enum, emp.name 129 | -> FROM emp, dept 130 | -> WHERE emp.dnum = dept.dnum 131 | -> AND dept.area = 'S' 132 | -> AND emp.sal > 800000 ; 133 | ``` 134 | 135 | 10. ``` 136 | SELECT dept.name AS dep_name, supplier.name AS supplier_name 137 | -> FROM dept, supply, supplier 138 | -> WHERE supplier.snum = supply.snum 139 | -> AND dept.dnum = supply.dnum 140 | -> AND supply.pnum = 'PD33' ; 141 | ``` 142 | 143 | 144 | --- 145 | -------------------------------------------------------------------------------- /sql/exp2.md: -------------------------------------------------------------------------------- 1 | # Solution : Experiment-2 2 | 3 | **AIM**: Perform queries on given relations/tables. 4 | 5 | --- 6 | 7 | 1. 8 | 9 | 10 | CREATE TABLE client_master 11 | -> ( 12 | -> client_no varchar(6) not null unique primary key, 13 | -> name varchar(20) not null, 14 | -> city varchar(15), 15 | -> pincode numeric(6), 16 | -> state varchar(10), 17 | -> bal_due numeric(10,2) 18 | -> ) ; 19 | 20 | 21 | +-----------+---------------+------+-----+---------+-------+ 22 | | Field | Type | Null | Key | Default | Extra | 23 | +-----------+---------------+------+-----+---------+-------+ 24 | | client_no | varchar(6) | NO | PRI | NULL | | 25 | | name | varchar(20) | NO | | NULL | | 26 | | city | varchar(15) | YES | | NULL | | 27 | | pincode | decimal(6,0) | YES | | NULL | | 28 | | state | varchar(10) | YES | | NULL | | 29 | | bal_due | decimal(10,2) | YES | | NULL | | 30 | +-----------+---------------+------+-----+---------+-------+ 31 | 32 | 33 | 34 | 35 | CREATE TABLE product_master 36 | -> ( 37 | -> product_no varchar(6) not null unique primary key, 38 | -> description varchar(20) not null, 39 | -> profit_percentage numeric(4,2), 40 | -> unit_measure varchar(10), 41 | -> qty_on_hand numeric(8), 42 | -> reorder_level numeric(8), 43 | -> sell_price numeric(8,2), 44 | -> cost_price numeric(8,2) 45 | -> ) ; 46 | 47 | 48 | +-------------------+--------------+------+-----+---------+-------+ 49 | | Field | Type | Null | Key | Default | Extra | 50 | +-------------------+--------------+------+-----+---------+-------+ 51 | | product_no | varchar(6) | NO | PRI | NULL | | 52 | | description | varchar(20) | NO | | NULL | | 53 | | profit_percentage | decimal(4,2) | YES | | NULL | | 54 | | unit_measure | varchar(10) | YES | | NULL | | 55 | | qty_on_hand | decimal(8,0) | YES | | NULL | | 56 | | reorder_level | decimal(8,0) | YES | | NULL | | 57 | | sell_price | decimal(8,2) | YES | | NULL | | 58 | | cost_price | decimal(8,2) | YES | | NULL | | 59 | +-------------------+--------------+------+-----+---------+-------+ 60 | 61 | 62 | 63 | CREATE TABLE salesman_master 64 | -> ( 65 | -> salesman_no varchar(6) not null unique primary key, 66 | -> salesman_name varchar(35) not null, 67 | -> address1 varchar(15), 68 | -> address2 varchar(15), 69 | -> s_city varchar(15), 70 | -> pincode numeric(6), 71 | -> state varchar(15), 72 | -> sal_amt numeric(8,2), 73 | -> tgt_to_get numeric(6,2), 74 | -> ytd_sales numeric(8,2), 75 | -> remarks varchar(15) 76 | -> ) ; 77 | 78 | 79 | +---------------+--------------+------+-----+---------+-------+ 80 | | Field | Type | Null | Key | Default | Extra | 81 | +---------------+--------------+------+-----+---------+-------+ 82 | | salesman_no | varchar(6) | NO | PRI | NULL | | 83 | | salesman_name | varchar(35) | NO | | NULL | | 84 | | address1 | varchar(15) | YES | | NULL | | 85 | | address2 | varchar(15) | YES | | NULL | | 86 | | s_city | varchar(15) | YES | | NULL | | 87 | | pincode | decimal(6,0) | YES | | NULL | | 88 | | state | varchar(15) | YES | | NULL | | 89 | | sal_amt | decimal(8,2) | YES | | NULL | | 90 | | tgt_to_get | decimal(6,2) | YES | | NULL | | 91 | | ytd_sales | decimal(8,2) | YES | | NULL | | 92 | | remarks | varchar(15) | YES | | NULL | | 93 | +---------------+--------------+------+-----+---------+-------+ 94 | 95 | 96 | 2. 97 | 98 | 99 | ``` 100 | INSERT INTO client_master VALUES ( 'C00001', 'Ivan Bayross', 'Bombay', 400054, 'Maharashtra', 15000 ) ; 101 | ``` 102 | 103 | ``` 104 | INSERT INTO product_master VALUES ( 'P00001', '1.44 Floppies', 5, 'Piece', 100, 20, 525, 500 ) ; 105 | ``` 106 | 107 | ``` 108 | INSERT INTO salesman_master VALUES ( 'S00001', 'Kiran', 'A/14', 'Worli', 'Bombay', 400002, 'Maharashtra', 3000, 100, 50, 'Good' ) ; 109 | ``` 110 | 111 | 112 | 113 | 3. ``` 114 | a) SELECT name FROM client_master ; 115 | b) SELECT * FROM client_master ; 116 | c) SELECT name, city FROM client_master ; 117 | d) SELECT description FROM product_master ; 118 | e) SELECT name FROM client_master WHERE city = 'Bombay' ; 119 | f) SELECT salesman_name FROM salesman_master WHERE sal_amt = 3000.00 ; 120 | ``` 121 | 122 | 123 | 4. ``` 124 | a) UPDATE client_master SET city = 'Bombay' WHERE client_no = 'C00005' ; 125 | b) UPDATE client_master SET bal_due = 1000.00 WHERE client_no = 'C00001' ; 126 | c) UPDATE product_master SET cost_price = 950.00 WHERE product_no = 'P07865' ; 127 | d) UPDATE salesman_master SET s_city = 'Bombay' ; 128 | ``` 129 | 130 | 5. ``` 131 | a) DELETE FROM salesman_master WHERE sal_amt = '3500' ; 132 | b) DELETE FROM product_master WHERE qty_on_hand = 100 ; 133 | c) DELETE FROM client_master WHERE state = 'Tamil Nadu' ; 134 | ``` 135 | 136 | 6. ``` 137 | a) ALTER TABLE client_master ADD telephone numeric(10) ; 138 | 139 | +-----------+---------------+------+-----+---------+-------+ 140 | | Field | Type | Null | Key | Default | Extra | 141 | +-----------+---------------+------+-----+---------+-------+ 142 | | client_no | varchar(6) | NO | PRI | NULL | | 143 | | name | varchar(20) | NO | | NULL | | 144 | | city | varchar(15) | YES | | NULL | | 145 | | pincode | decimal(6,0) | YES | | NULL | | 146 | | state | varchar(15) | YES | | NULL | | 147 | | bal_due | decimal(10,2) | YES | | NULL | | 148 | | telephone | decimal(10,0) | YES | | NULL | | 149 | +-----------+---------------+------+-----+---------+-------+ 150 | 151 | b) ALTER TABLE product_master MODIFY sell_price numeric(10,2) ; 152 | 153 | +-------------------+---------------+------+-----+---------+-------+ 154 | | Field | Type | Null | Key | Default | Extra | 155 | +-------------------+---------------+------+-----+---------+-------+ 156 | | product_no | varchar(6) | NO | PRI | NULL | | 157 | | description | varchar(25) | NO | | NULL | | 158 | | profit_percentage | decimal(4,2) | YES | | NULL | | 159 | | unit_measure | varchar(10) | YES | | NULL | | 160 | | qty_on_hand | decimal(8,0) | YES | | NULL | | 161 | | reorder_level | decimal(8,0) | YES | | NULL | | 162 | | sell_price | decimal(10,2) | YES | | NULL | | 163 | | cost_price | decimal(8,2) | YES | | NULL | | 164 | +-------------------+---------------+------+-----+---------+-------+ 165 | ``` 166 | 167 | 7. ``` 168 | a) DROP TABLE client_master ; 169 | ``` 170 | 171 | 8. ``` 172 | a) ALTER TABLE salesman_master RENAME TO sman_master ; 173 | ``` 174 | 175 | 176 | --- 177 | --------------------------------------------------------------------------------