DBMS_LAB
DBMS_LAB
To illustrate different sql commands, following sql commands are first executed to create database tables and to seed the database in
postgresql using psql.
QUERY:
SELECT name, age FROM students WHERE grade > 80;
OUTPUT:
QUERY:
OUTPUT:
SYNTAX:
SELECT column1, column2, ...
FROM table_name;
QUERY:
OUTPUT:
4. Illustration of ORDER BY Clause.
SYNTAX:
SELECT column1, column2, ...
FROM table_name
QUERY:
OUTPUT:
FROM table_name;
QUERY:
OUTPUT:
6. Illustration of Operator Precedence in Arithmetic expression.
SYNTAX:
SELECT column1, column2,
expression_with_default_precedence AS Result1,
expression_with_parentheses AS Result2
FROM table_name;
QUERY:
SELECT name, (grade + 10) * 1.1 AS new_grade FROM students;
OUTPUT:
QUERY:
SELECT AVG(grade) AS average_grade FROM students;
OUTPUT:
SYNTAX:
SELECT column_name,
aggregate_function(column_name) AS Alias
FROM table_name
GROUP BY column_name;
QUERY:
FROM enrollments
GROUP BY course_id;
OUTPUT:
SYNTAX:
SELECT column_name,
aggregate_function(column_name) AS Alias
FROM table_name
GROUP BY column_name
QUERY:
FROM enrollments
GROUP BY course_id
OUTPUT:
SYNTAX:
SELECT column_name
FROM table_name
QUERY:
SELECT name, email FROM students WHERE gender IS NULL;
OUTPUT:
11. Illustration of Using Column Aliases.
SYNTAX:
SELECT column_name AS alias_name
FROM table_name;
QUERY:
SELECT name AS student_name, grade AS final_grade FROM students;
OUTPUT:
QUERY:
SELECT name || ' → ' || course_name AS course_info
FROM students
JOIN enrollments ON students.student_id = enrollments.student_id
JOIN courses ON enrollments.course_id = courses.course_id;
OUTPUT:
13. Illustration Literal Character Strings.
SYNTAX:
SELECT 'Literal String' AS alias_name;
QUERY:
SELECT name, age, 'Nepali Student' AS description FROM students;
OUTPUT:
QUERY:
SELECT DISTINCT grade FROM students;
OUTPUT:
15. Illustration of displaying table structure
SYNTAX:
\d table_name
QUERY:
\d courses
OUTPUT
QUERY:
SELECT name FROM students WHERE grade BETWEEN 80 AND 90;
OUTPUT:
QUERY:
SELECT name FROM students WHERE student_id IN (1, 3, 4);
OUTPUT:
QUERY:
SELECT name FROM students WHERE name LIKE 'S%';
OUTPUT:
SYNTAX:
SELECT column_name
FROM table_name
WHERE condition1 AND condition2;
QUERY:
SELECT name FROM students WHERE age > 20 AND grade > 80;
OUTPUT:
20. Illustration of Using OR Operator.
SYNTAX:
SELECT column_name
FROM table_name
WHERE condition1 OR condition2;
QUERY:
SELECT name FROM students WHERE age > 22 OR grade < 80;
OUTPUT:
QUERY:
OUTPUT:
QUERY:
SELECT name FROM students WHERE grade > (SELECT AVG(grade) FROM students);
OUTPUT:
SYNTAX:
SELECT column1, column2
FROM table1
CROSS JOIN table2;
QUERY:
SELECT students.name, courses.course_name
FROM students
CROSS JOIN courses;
OUTPUT:
24. Illustration of Natural Join.
SYNTAX:
SELECT column1, column2
FROM table1
NATURAL JOIN table2;
QUERY:
SELECT students.name, courses.course_name
FROM students
NATURAL JOIN enrollments
NATURAL JOIN courses;
OUTPUT:
QUERY:
SELECT students.name, courses.course_name
FROM students
LEFT JOIN enrollments ON students.student_id = enrollments.student_id
LEFT JOIN courses ON enrollments.course_id = courses.course_id;
OUTPUT:
27. Illustration of LEFT OUTER JOIN.
SYNTAX:
SELECT column1, column2
FROM table1
LEFT OUTER JOIN table2 ON table1.column_name = table2.column_name;
QUERY:
SELECT students.name, courses.course_name
FROM students
LEFT JOIN enrollments ON students.student_id = enrollments.student_id
LEFT JOIN courses ON enrollments.course_id = courses.course_id;
OUTPUT:
QUERY:
SELECT students.name, courses.course_name
FROM students
RIGHT JOIN enrollments ON students.student_id = enrollments.student_id
RIGHT JOIN courses ON enrollments.course_id = courses.course_id;
OUTPUT:
29. Illustration of Full OUTER JOIN.
SYNTAX:
SELECT column1, column2
FROM table1
FULL OUTER JOIN table2 ON table1.column_name = table2.column_name;
QUERY:
SELECT students.name, courses.course_name
FROM students
FULL OUTER JOIN enrollments ON students.student_id = enrollments.student_id
FULL OUTER JOIN courses ON enrollments.course_id = courses.course_id;
OUTPUT:
30. Illustration of Creating table with enforcement of integrity constraints primary key ,not null unique
,check, Referential integrity.
SYNTAX:
CREATE TABLE table_name (
column1 datatype CONSTRAINT constraint_name PRIMARY KEY,
column2 datatype NOT NULL,
column3 datatype UNIQUE,
column4 datatype CHECK (condition),
FOREIGN KEY (column_name) REFERENCES other_table(column_name)
);
QUERY:
CREATE TABLE students_with_constraints (
student_id SERIAL PRIMARY KEY,
name VARCHAR(50) NOT NULL,
age INT NOT NULL,
email VARCHAR(50) UNIQUE,
grade NUMERIC(5,2) CHECK (grade >= 0 AND grade <= 100)
);
OUTPUT: