bài tập truy vấn sql nâng cao (Bài tập SQL cho tester )

bài tập truy vấn sql nâng cao (Bài tập SQL cho tester )
bài tập truy vấn sql nâng cao (Bài tập SQL cho tester )

SQL là viết tắt của Structured Query Language (Ngôn ngữ truy vấn có cấu trúc) và nó là ngôn ngữ máy tính tiêu chuẩn ANSI để truy cập và thao tác với hệ thống cơ sở dữ liệu. Nó được sử dụng để quản lý dữ liệu trong hệ quản trị cơ sở dữ liệu quan hệ lưu trữ dữ liệu dưới dạng bảng và mối quan hệ giữa dữ liệu cũng được lưu trữ dưới dạng bảng. Các câu lệnh SQL được sử dụng để truy xuất và cập nhật dữ liệu trong cơ sở dữ liệu.

Cách tốt nhất chúng ta học bất cứ điều gì là thực hành và các câu hỏi bài tập. Chúng tôi đã bắt đầu phần này cho những người (người mới bắt đầu đến trình độ trung cấp) đã quen thuộc với SQL. Hy vọng, những bài tập này sẽ giúp bạn cải thiện kỹ năng SQL của mình.

Truy vấn 1: Truy vấn tìm nạp bản ghi cuối cùng của bảng Students_Master là gì?

Bài giải :

Select * from Students_Master where Rowid= select max(Rowid) from Students_Master;

Truy vấn 2: Truy vấn tìm tên cơ sở dữ liệu trong Oracle là gì?

Truy vấn:

Có 3 truy vấn sử dụng mà bạn có thể tìm thấy tên cơ sở dữ liệu.

SELECT Ora_Database_Name FROM DUAL;

SELECT * FROM GLOBAL_NAME;

SELECT Name from V$DATABASE;

Truy vấn 3: Truy vấn để hiển thị Bản ghi thứ N từ bảng Student_Master là gì?

Bài giải :

select distinct Marks from Student_Master a where 3 >= (select count(distinct Marks) from Student_Master b where a.Marks<= b.Marks) order by a.Marks desc;

Truy vấn 4: Truy vấn để tìm ra bản ghi đầu tiên từ bảng Student_Master là gì?

Truy vấn :

Select * from Student_Master where Rownum =1;

Truy vấn 5: Truy vấn để tìm mức lương cao thứ hai của nhân viên sử dụng tự tham gia là gì?

Truy vấn :

Select * from Employees_Master a where 2 = select count (distinct salary) from Employee_Master where a.salary <= b.salary;

Câu hỏi 6: Khối PL SQL để in số đảo ngược là gì?

Bài giải :

Declare

num1 number:=&num1; —Declaring the input number rev_num number:=0; —Declaring

——–Reverse number as 0

Begin —Start of PL/SQL block

while(num1>0) –Check condition that number is greater than 0

Loop

rev_num=rev_num*10+mod(num1,10); —Reverse condition

num1=num1/10; —Reverse condition

End loop;

Dbms_Output.Put_Line(‘Reverse of Number’||num1||’is’||rev_num);

End;

Truy vấn 7: Viết truy vấn để hiển thị các hàng lẻ từ bảng Student_Master?

Truy vấn:

Select * from(Select rownum as rno,E.* from Student_Master E) where Mod(rno,2)=1;

Truy vấn 8: Viết truy vấn để hiển thị các hàng số chẵn từ bảng Student_Master?

Truy vấn :

Select * from(Select rownum as rno,E.* from Student_Master) where Mod(rno,2)=0;

Truy vấn 9: Truy vấn để tìm ra tên ràng buộc từ bảng oracle là gì?

Truy vấn

SELECT Table_Name, Constraint_Name FROM User_Constraints;

important Advanced SQL Exercises
Advanced SQL Queries

Truy vấn 10: Truy vấn tìm kiếm thông tin của học sinh không được chỉ định số cuộn là gì.

Truy vấn:

Select * from Student where Roll_no Not in(Select Roll_Number from Student_Master);

Truy vấn 11: Làm thế nào để hiển thị các bản ghi số 3 đến 7 từ bảng Student_Master?

Truy vấn:

Chọn * từ (Chọn rownum là ‘No_of_Row’, E. * từ Student_Master E)

Where No_of_Row từ 3 đến 7;

Truy vấn 12: Truy vấn là gì để tìm ra số học sinh có điểm từ 75% đến 85%.

Truy vấn :

Chọn số lượng (*) từ Student_Master trong đó tỷ lệ phần trăm từ 75 đến 85;