0% found this document useful (0 votes)
9 views8 pages

Lab2 1q

lab query
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
9 views8 pages

Lab2 1q

lab query
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 8

mysql> create database student;

Query OK, 1 row affected (0.07 sec)

mysql> use student;


Database changed
mysql> CREATE TABLE Student ( snum INTEGER PRIMARY KEY, sname VARCHAR(100)
NOT NULL, major VARCHAR(100), level VARCHAR(10), age INTEGER);
Query OK, 0 rows affected (0.03 sec)

mysql> INSERT INTO Student VALUES(1, 'Aliya', 'History', 'JR', 20),(2, 'Bob',
'Mathematics', 'SR', 22),(3, 'ramesh', 'Computer Science', 'JR', 21),(4, 'Deva',
'Physics', 'JR', 19),(5, 'bhavana', 'History', 'SR', 23);
Query OK, 5 rows affected (0.02 sec)
Records: 5 Duplicates: 0 Warnings: 0

mysql> select *from student;


+------+---------+------------------+-------+------+
| snum | sname | major | level | age |
+------+---------+------------------+-------+------+
| 1 | Aliya | History | JR | 20 |
| 2 | Bob | Mathematics | SR | 22 |
| 3 | ramesh | Computer Science | JR | 21 |
| 4 | Deva | Physics | JR | 19 |
| 5 | bhavana | History | SR | 23 |
+------+---------+------------------+-------+------+
5 rows in set (0.00 sec)

mysql> CREATE TABLE Class ( name VARCHAR(100) PRIMARY KEY, `meets at`
VARCHAR(100), room VARCHAR(100), fid INTEGER, FOREIGN KEY (fid) REFERENCES
Faculty(fid) ON DELETE NO ACTION);
ERROR 1824 (HY000): Failed to open the referenced table 'faculty'
mysql> CREATE TABLE Faculty ( fid INTEGER PRIMARY KEY, fname VARCHAR(100),
deptid INTEGER);
Query OK, 0 rows affected (0.09 sec)

mysql> INSERT INTO Faculty (fid, fname, deptid) VALUES(1, 'John', 1),(2, 'David',
2),(3, 'Sarah', 1),(4, 'Michael', 3);
Query OK, 4 rows affected (0.01 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> select *from faculty;


+-----+---------+--------+
| fid | fname | deptid |
+-----+---------+--------+
| 1 | John | 1 |
| 2 | David | 2 |
| 3 | Sarah | 1 |
| 4 | Michael | 3 |
+-----+---------+--------+
4 rows in set (0.00 sec)

mysql> CREATE TABLE Class ( name VARCHAR(100) PRIMARY KEY, `meets at`
VARCHAR(100), room VARCHAR(100), fid INTEGER, FOREIGN KEY (fid) REFERENCES
Faculty(fid) ON DELETE NO ACTION);
Query OK, 0 rows affected (0.14 sec)

mysql> INSERT INTO Class (name, `meets at`, room, fid) VALUES('History101', '10:00
AM', 'R128', 1),('Math202', '12:00 PM', 'R201', 2),('CS303', '10:00 AM', 'R128',
3),('Physics201', '02:00 PM', 'R128', 4);
Query OK, 4 rows affected (0.07 sec)
Records: 4 Duplicates: 0 Warnings: 0

mysql> select *from class;


+------------+----------+------+------+
| name | meets at | room | fid |
+------------+----------+------+------+
| CS303 | 10:00 AM | R128 | 3 |
| History101 | 10:00 AM | R128 | 1 |
| Math202 | 12:00 PM | R201 | 2 |
| Physics201 | 02:00 PM | R128 | 4 |
+------------+----------+------+------+
4 rows in set (0.00 sec)

mysql> CREATE TABLE Enrolled ( snum INTEGER, cname VARCHAR(100), FOREIGN


KEY (snum) REFERENCES Student(snum) ON DELETE NO ACTION, FOREIGN KEY (cname)
REFERENCES Class(name) ON DELETE NO ACTION);
Query OK, 0 rows affected (0.14 sec)

mysql> INSERT INTO Enrolled (snum, cname) VALUES(1, 'History101'),(1, 'CS303'),(2,


'Math202'),(3, 'CS303'),(4, 'Physics201'),(5, 'History101'),(5, 'Math202');
Query OK, 7 rows affected (0.07 sec)
Records: 7 Duplicates: 0 Warnings: 0

mysql> select *from enrolled;


+------+------------+
| snum | cname |
+------+------------+
| 1 | History101 |
| 1 | CS303 |
| 2 | Math202 |
| 3 | CS303 |
| 4 | Physics201 |
| 5 | History101 |
| 5 | Math202 |
+------+------------+
7 rows in set (0.00 sec)

mysql> SELECT MAX(s.age) AS oldest_age


-> FROM Student s
-> WHERE s.major = 'history'
-> OR EXISTS (
-> SELECT 1
-> FROM Enrolled e
-> JOIN Class c ON e.cname = c.name
-> JOIN Faculty f ON c.fid = f.fid
-> WHERE e.snum = s.snum AND f.fname = 'John'
-> );
+------------+
| oldest_age |
+------------+
| 23 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT DISTINCT c.name


-> FROM Class c
-> LEFT JOIN Enrolled e ON c.name = e.cname
-> WHERE c.room = 'R128'
-> OR (
-> SELECT COUNT(*)
-> FROM Enrolled
-> WHERE cname = c.name
-> ) >= 5;
+------------+
| name |
+------------+
| CS303 |
| History101 |
| Physics201 |
+------------+
3 rows in set (0.00 sec)

mysql> SELECT MAX(s.age) AS oldest_age


-> FROM Student s
-> WHERE s.major = 'history'
-> OR EXISTS (
-> SELECT 1
-> FROM Enrolled e
-> JOIN Class c ON e.cname = c.name
-> JOIN Faculty f ON c.fid = f.fid
-> WHERE e.snum = s.snum AND f.fname = 'John'
-> );
+------------+
| oldest_age |
+------------+
| 23 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT s.sname


-> FROM Student s
-> JOIN Enrolled e1 ON s.snum = e1.snum
-> JOIN Class c1 ON e1.cname = c1.name
-> JOIN Enrolled e2 ON s.snum = e2.snum
-> JOIN Class c2 ON e2.cname = c2.name
-> WHERE c1.`meets at` = c2.`meets at`
-> AND c1.name <> c2.name;
+-------+
| sname |
+-------+
| Aliya |
| Aliya |
+-------+
2 rows in set (0.00 sec)

mysql> SELECT DISTINCT s.sname


FROM student s,class c,faculty f,enrolled e
WHERE s.snum=e.snum AND
e.cname=c.cname AND
s.level='jr' AND
f.fname='Harshith' AND
f.fid=c.fid;
+-------+
| sname |
+-------+
| tom |
+-------+
1 row in set (0.00 sec)

mysql> SELECT DISTINCT f.fname


FROM faculty f
WHERE f.fid IN ( SELECT c.fid
FROM class c, enrolled e
WHERE c.cname = e.cname GROUP BY c.cname HAVING COUNT(c.cname)<
5 );
+----------+
| fname |
+----------+
| bhavana |
| ramesh |
| Shobha |
+----------+
3 rows in set (0.01 sec)mysql> CREATE VIEW AllClasses AS
-> SELECT *
-> FROM Class;
Query OK, 0 rows affected (0.07 sec)

mysql> SELECT * FROM AllClasses;


+------------+----------+------+------+
| name | meets at | room | fid |
+------------+----------+------+------+
| CS303 | 10:00 AM | R128 | 3 |
| History101 | 10:00 AM | R128 | 1 |
| Math202 | 12:00 PM | R201 | 2 |
| Physics201 | 02:00 PM | R128 | 4 |
+------------+----------+------+------+
4 rows in set (0.00 sec)

mysql> SELECT f.fname


-> FROM Faculty f
-> JOIN Class c ON f.fid = c.fid
-> GROUP BY f.fname
-> HAVING SUM(
-> SELECT COUNT(*)
-> FROM Enrolled e
-> WHERE e.cname = c.name
-> ) < 5;
ERROR 1064 (42000): You have an error in your SQL syntax; check the manual that
corresponds to your MySQL server version for the right syntax to use near 'SELECT
COUNT(*)
FROM Enrolled e
WHERE e.cname = c.name
) < 5' at line 6
mysql> SELECT DISTINCT f.fname
-> FROM Faculty f
-> WHERE NOT EXISTS (
-> SELECT DISTINCT c2.room
-> FROM Class c2
-> WHERE NOT EXISTS (
-> SELECT 1
-> FROM Class c3
-> WHERE c3.fid = f.fid AND c3.room = c2.room
-> )
-> );
Empty set (0.00 sec)

mysql>

You might also like