Font size
WorksheetsDATABASE TEST
Total questions: 60
Worksheet time: 2hrs 36mins
Cú pháp nào sau đây dùng để xoá 1 dòng ra khỏi bảng đã cho?
DELETE [tên bảng] WHERE [điều kiện];
DELETE FROM [tên bảng] WHERE [điều kiện];
DROP FROM [tên bảng] WHERE [điều kiện];
DROP [tên bảng] WHERE [điều kiện];
Đặc điểm của khoá chính là :
Định danh cho duy nhất cho bảng
Định danh duy nhất cho bản ghi
Thuộc tính duy nhất cho bảng
Thuộc tính duy nhất cho bản ghi
Mỗi bảng trong cơ sở dữ liệu phải có:
Một trường ID.
Ít nhất một bản ghi.
Một cái tên duy nhất.
Ít nhất năm trường thuộc tính.
Mỗi KH có thể có nhiều số điện thoại. Số điện thoại là dạng thuộc tính gì của thực thể KH
Đơn trị
Đa trị
Phức hợp
Suy diễn
Câu lệnh "CREATE DATABASE <Tên database>" có chức năng gì?
Tạo mới cơ sở dữ liệu
Tạo mới bảng
Tạo thuộc tính của bảng
Tạo khóa chính
Câu lệnh nào sau đây là đúng khi tạo ràng buộc NgSinh phải nhỏ hơn ngày hiện tại
NGSDATETIME CHECK (NGSINH>CURDATE())
NGSINH DATETIME CHECK (NGSINH<NOWDATE())
NGSINH DATETIME CHECK (NGSINH<CURDATE())
NGSINH DATETIME CHECK (NGSINH<TODAYDATE())
Để tạo khóa chính cho MaNV có thể dùng câu lệnh nào sau đây?
MANV char(4) PRIMARY KEY
CONSTRAINT PK_NV PRIMARY KEY (MaNV)
ALTER TABLE Nhanvien
ADD CONSTRAINT pk_MaNV PRIMARY KEY (MaNV)
Tất cả đều đúng
Câu lệnh "CREATE TABLE <Tên Table>" có chức năng gì?
Tạo mới cơ sở dữ liệu
Tạo mới bảng
Tạo thuộc tính của bảng
Tạo khóa chính
Khóa chính trong một bảng được gọi là?
Foreign Key
Unique
Candidate Key
Primary Key
Nhận định nào sau đây là sai về khóa?
Một bảng có thể có nhiều khóa chính
Khóa chính và khóa duy nhất (unique) đảm bảo không có dòng nàogiống hệt nhau về dữ liệu
Nên chọn khóa chính là khóa có ít thuộc tính nhất
Mỗi bảng có ít nhất một khóa
Dòng lệnh nào sau đây được dùng để thiết lập cột ID là khóa chính của bảng với MySQL?
ID int NOT NULL PRIMARY KEY
PRIMARY_KEY(ID)
PrimaryKey(ID)
PRIMARY KEY (ID)
Câu lệnh nào dùng để truy vấn (lấy) dữ liệu từ một bảng trong CSDL?
INSERT
DELETE
GET
SELECT
Câu lệnh SQL sau được sử dụng để làm gì?
"SELECT firstname, lastname, email, phone FROM Student;"
Cập nhật dữ liệu trong bảng Student
Lấy dữ liệu của của cột firstname, lastname, email, phone của tất cả các dòng trong bảng Student
Thêm dữ liệu vào bảng Student
Lấy tất cả dữ liệu từ bảng Student
Mệnh đề WHERE được sử dụng khi nào?
Khi muốn truy vấn dữ liệu với một điều kiện nào đó
Khi xóa CSDL trong MySQL
Khi xóa bảng trong CSDL
Khi muốn thêm dữ liệu vào bảng
Cú pháp tạo ràng buộc Check là gì?
CONSTRAINT tên ràng buộc CHK (điều kiện)
CONSTRAINT thuộc tính CHECK (điều kiện)
CONSTRAINT tên ràng buộc CHECK (điều kiện)
CHECK tên ràng buộc CONSTRAINT (điều kiện)
Lệnh ALTER TABLE có chức năng gì?
Xóa một bảng trong một cơ sở dữ liệu
Thêm, sửa, xóa các cột trong bảng hiện tại
Tạo ra một bảng trong một cơ sở dữ liệu
Tất cả đáp án đều đúng
Trong toán tử Like, kí tự % biểu thị điều gì?
Kí tự đơn bất kì trong giới hạn
Thể hiện nhiều kí tự trong xâu
Kí tự không nằm trong các giới hạn
Bắt buộc chỉ được 1 kí tự
Hãy chọn câu truy vấn đúng:
SELECT * FROM T1 ORDER BY id DESC;
SELECT * FROM T1 WHERE BY id;
SELECT * WHERE T1 ORDER BY id ASC;
SELECT % FROM t1 WHERE BY id;
Trong câu lệnh Select, sau từ khoá ‘‘Having ’’ là gì?
Biểu thức điều kiện của lệnh select
Biểu thức điều kiện của nhóm
Ràng buộc cột trong nhóm
Ràng buộc bản ghi trong bảng
Mệnh đề Having thực hiện điều nào sau đây?
Hoạt động giống như mệnh đề WHERE nhưng được sử dụng cho các group thay vì các row
Hoạt động giống như mệnh đề WHERE nhưng được sử dụng cho các row thay vì các colum
Hoạt động giống như mệnh đề WHERE nhưng được sử dụng cho các colum thay vì group
Hoạt động chính xác như mệnh đề WHERE
Cú pháp để thêm bản ghi vào 1 bảng là gì?
INSERT INTO table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT table_name (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
INSERT INTO table_name ADD (column1, column2, column3, ...)
VALUES (value1, value2, value3, ...);
SELECT column1, column2, ...
FROM table_name;
Khóa chính (PRIMARY KEY) có được NULL không?
Có
Không
Tùy dữ liệu insert
Tùy hệ cơ sở dữ liệu sử dụng.
Cú pháp lệnh này có tác dụng gì?
ALTER TABLE table_name
ADD PRIMARY KEY(primary_key_column);
Xóa bỏ cột trong bảng
Bổ sung khóa ngoại cho bảng
Bổ sung khóa chính cho bảng
Thêm cột cho bảng
Từ khoá FOREIGN KEY REFERENCES được sử dụng khi nào?
Chỉ định giá trị mặc định cho bảng
Chỉ định khóa ngoại cho bảng
Chỉ định khóa chính cho bảng
Chỉ định khóa duy nhất cho bảng
Với Sql, làm thế nào lấy tất cả các bản ghi từ bảng có tên là Persons?
SELECT Persons
SELECT [all] FROM Persons
SELECT * FROM Persons
SELECT *.Persons
Với Sql, làm thế nào để sắp xếp bảng theo thứ tự tăng dần của cột "Luong"
Having Luong asc
Order by Luong desc
Order by Luong asc
Group by Luong asc
Cho biết nội dung của câu truy vấn sau:
SELECT * FROM SINHVIEN WHERE GIOITINH = 'Nam' AND DIACHI = 'HCM';
In ra thông tin các sinh viên nam
In ra thông tin các sinh viên nam sống tại HCM.
In ra danh sách tất cả các sinh viên
Tất cả đều sai
Việc lưu trữ dữ liệu dưới dạng CSDL có thể khắc phục được những khuyết điểm nào sau đây
Giảm trùng lặp thông tin, đảm bảo tính nhất quán và toàn vẹn dữ liệu.
Cho phép chia sẻ cho nhiều ứng dụng sử dụng đồng thời trên một CSDL.
Đảm bảo an toàn dữ liệu.
Tất cả các ý trên
Hãy cho biết kết quả chuyển từ mô hình TT-KH sau sang mô hình quan hệ
S(S1,...)
T(T1,T1,R1...)
S(S1,...)
T(T1,...)
Q(S1,T1,...)
S(S1,...,T1)
T(T1,...)
S(S1,...,T1,R1)
T(T1,...)
Điền vào chỗ còn thiếu trong câu truy vấn sau:
INSERT INTO SINHVIEN (MSSV, TEN, TUOI, DIACHI) (a) (1211153,'Nguyễn Văn An',20,'HCM');
Cú pháp nào sau đây dùng để thêm một cột mới sau khi đã tạo bảng?
ALTER TABLE table_name ADD COLUMN column_name;
ALTER TABLE table_name ADD COLUMN column_name data_type;
ALTER TABLE table_name DROP COLUMN column_name data_type;
ALTER TABLE table_name ADD column_name data_type;
Để xóa cột tuổi ra khỏi bảng SINHVIEN ta sử dụng lệnh:
ALTER TABLE SINHVIEN (a) COLUMN TUOI;
Để xóa ràng buộc có tên là check_GIOITINH, ta sử dụng lệnh:
ALTER TABLE SINHVIEN DROP (a) check_GIOITINH;
Để lấy ra danh sách tuổi của sinh viên và loại bỏ các giá trị trùng lặp, ta dùng lệnh:
SELECT ALL TUOI FROM SINHVIEN;
SELECT DISTINCT TUOI FROM SINHVIEN;
SELECT TUOI FROM SINHVIEN;
SELECT * FROM SINHVIEN;
Cho biết nội dung của câu truy vấn sau:
SELECT MSSV, TEN FROM SINHVIEN WHERE TUOI NOT BETWEEN 20 AND 25;
Liệt kê những sinh viên có độ tuổi không nằm trong khoản từ 20 đến 25.
Liệt kê danh sách tất cả sinh viên
Liệt kê những sinh viên có độ tuổi từ 20 đến 25.
Tất cả đều sai
Cho biết nội dung của câu truy vấn sau:
SELECT MSSV, SUM(DIEM)
FROM KETQUA GROUP BY MSSV;
In danh sách điểm thi của sinh viên
Tính tổng điểm các môn thi theo từng sinh viên
Tính điểm các môn thi theo từng sinh viên
Tất cả đều sai
Cho biết nội dung của câu truy vấn sau:
SELECT *
FROM SINHVIEN
ORDER BY DIEM DESC LIMIT 3;
In danh sách điểm thi của 3 sinh viên bất kỳ
In danh sách điểm thi của tất cả sinh viên
In danh sách 3 sinh viên có điểm cao nhất
In danh sách 3 sinh viên có điểm thấp nhất
Khẳng định nào sau đây là đúng ?
A. TRUNCATE TABLE xóa bảng khỏi cơ sở dữ liệu
B. TRUNCATE TABLE phải được sử dụng cùng với mệnh đề WHERE
C. TRUNCATE TABLE có chức năng tương tự như lệnh DELETE nhưng không có mệnh đề WHERE và đều được sử dụng để xóa các bản ghi từ một bảng đang tồn tại trong SQL.
Câu lệnh nào sau đây là đúng
A. SELECT FROM HOADON WHERE NGHD BETWEEN '10/12/2022' AND '01/01/2023'
B. SELECT * FROM HOADON WHERE NGHD BETWEEN '10/12/2022' AND '01/01/2023'
C. SELECT FROM HOADON WHERE NGHD BETWEEN ('10/12/2023', '01/01/2023')
D. SELECT HOADON WHERE NGHD BETWEEN '10/12/2022' AND '01/01/2023'
RDBMS là viết tắt của...?
A. Real Database Management System
B. Read Database Master System
C. Relational Database Management System
D. Read Database Management System
Nếu không chỉ định ASC hoặc DESC sau mệnh đề ORDER BY thì từ khóa nào được sử dụng theo mặc định ?
A. ASC
B. DESC
C. DOWN
D. UP
Hãy chọn các câu trả lời ĐÚNG.
A. Trong MySQL, các lệnh DELETE, TRUNCATE, DROP có chức năng xóa dữ liệu.
B. Trong cùng một Database, ta có thể đặt tên các bảng trùng nhau.
C. Một bảng chỉ có thể có một khóa chính (Primary Key) nhưng có thể có nhiều khóa ngoại (Foreign Key).
D. Unique cũng có thể xem là một khóa ở trong bảng.
Chọn câu trả lời sai
A. Một cột được đặt Primary Key có thể có các giá trị trùng nhau.
B. Để tối ưu hóa truy vấn, ta có thể ưu tiên sử dụng câu lện nối JOIN thay vì truy vấn con.
C. VIEW (khung nhìn) là một bảng ảo có nội dung được định nghĩa thông qua một câu lệnh MyQL nào đó.
D. INSERTED và DELETED là 2 bảng tạm (temporary table) chỉ chứa trên bộ nhớ cho nên các bảng này chỉ được sử dụng với các lệnh trong TRIGGER
Phát biểu nào sai trong các phát biểu sau khi nói về khoá chính?
Mỗi bảng có ít nhất một khóa
Một bảng có thể có nhiều khóa chính
Xác định khoá phụ thuộc vào quan hệ logic của các dữ liệu chứ không phụ thuộc vào giá trị các dữ liệu
Nên chọn khoá chính là khoá có ít thuộc tính nhất
Hoạt động nào sau đây có sử dụng CSDL?
Bán vé máy bay
Quản lý học sinh trong nhà trường
Quản lý bệnh nhân trong bệnh viên
Bán hàng có quy mô
Chỉ ra câu lệnh đồng loạt tăng giá bán sản phẩm lên 10%
UPDATE SANPHAM SET GIA*10/100
UPDATE SANPHAM SET GIA=GIA*10/100
UPDATE SANPHAM=GIA+GIA*10/100 FROM SANPHAM
UPDATE SANPHAM SET GIA=GIA+GIA*10/100
Câu lệnh nào dưới đây trả về số lượng nhân viên trong một công ty
SELECT COUNT(MANV) FROM NHANVIEN
SELECT SUM(MANV) FROM NHANVIEN
SELECT MAX(MANV) FROM NHANVIEN
SELECT MANV FROM NHANVIEN WHERE COUNT(MANV) >0
Câu nào dưới đây không đúng khi nói về ORDER BY
ORDER BY dùng để sắp xếp dữ liệu trả về từ lệnh SELECT
ORDER BY có thể sắp xếp theo chiều giảm dần bằng từ khóa ASC
Khi sử dụng ORDER BY có thể không cần viết chiều sắp xếp
ORDER BY có thể sắp xếp theo nhiều cột
Lệnh nào để lấy các bản ghi có tuổi (age) nằm trong khoảng từ 20 đến 30 (có lấy 2 đầu mút)
SELECT * FROM table WHERE age IN (20,30)
SELECT FROM table WHERE age BETWEEN 20 AND 30
SELECT * FROM table WHERE age <= 20 AND age >= 30
SELECT * FROM table WHERE age >= 20 AND age <= 30
SELECT * FROM table WHERE age >= 20 OR age <= 30
Lệnh nào để lấy các bản ghi có cột title chứa từ khóa ‘hello’ ?
SELECT * FROM table WHERE title = ‘%hello%’
SELECT * FROM table WHERE title LIKE ‘hello’
SELECT * FROM table WHERE title LIKE ‘%hello%’
SELECT * FROM table WHERE title LIKE ‘%hello’ OR title LIKE ‘hello%’
SELECT * FROM table WHERE title LIKE ‘%hello_’
Câu lệnh SQL nào để sắp xếp dữ liệu theo các cột first_name ( theo chiều tăng dần ) và last_name (theo chiều giảm dần)
SELECT * FROM table_1 ORDER BY first_name, last_name
SELECT * FROM table_1 ORDER BY last_name ASC, first_name DESC
SELECT * FROM table_1 ORDER BY first_name ASC, last_name DESC
SELECT * FROM table_1 ORDER BY first_name AND last_name
SELECT FROM table_1 ORDER BY first_name ASC, last_name DESC
Câu lệnh SQL nào sai cú pháp
SELECT * FROM table_1 WHERE col_1 > 20 AND < 30
SELECT * FROM table_1 WHERE col_1 OR col_2 > 30
SELECT * FROM table_1 WHERE col_1 < 20 OR col_2 > 40 ORDER BY col_1 col_2
SELECT * FROM table_1 WHERE col_1 BETWEEN 50 AND 40
Cho lệnh SQL:
SELECT * FROM table_1 WHERE col_1 BETWEEN val_1 AND val_2
Lệnh nào dưới đây tương đương với lệnh SQL trên:
SELECT * FROM table_1 WHERE col_1 IN (val_1, val_2)
SELECT * FROM table_1 WHERE col_1 >= val_1 OR col_1 <= val_2
SELECT * FROM table_1 WHERE col_1 >= val_1 AND col_1 =< val_2
SELECT * FROM table_1 WHERE col_1 >= val_1 AND col_1 <= val_2
SELECT * FROM table_1 WHERE col_1 >= val_1 AND <= val_2
Cho lệnh SQL:
SELECT * FROM table WHERE col_1 != 10
Lệnh SQL nào tương đương với lệnh trên
SELECT * FROM table WHERE col_1 IN (10)
SELECT * FROM table WHERE col_1 < 10 AND col_1 > 10
SELECT FROM table WHERE col_1 < 10 OR col_1 > 10
SELECT * FROM table WHERE col_1 <= 10 OR col_1 >= 10
SELECT * FROM table WHERE col_1 < 10 OR col_1 > 10
Lệnh nào để lấy ra các bản ghi thỏa mãn điều kiện: cột name có chữ cái 'a' nằm ở vị trí số 2
SELECT * FROM table_1
SELECT * FROM table_1 WHERE name LIKE '%a%'
SELECT * FROM table_1 WHERE name LIKE '_a%'
SELECT * FROM table_1 WHERE name LIKE '%a'
SELECT * FROM table_1 WHERE name LIKE '_a'
Cho bảng table_1 gồm 3 cột: name, gender, age
Lệnh SQL nào tính tuổi trung bình theo gender
SELECT AVG(age), gender FROM table_1 ORDER BY gender
SELECT AVG(age), gender FROM table_1
SELECT gender, AVG(age) FROM table_1 GROUP BY gender
SELECT gender, SUM(age) FROM table_1 GROUP BY gender
SELECT gender, AVG(age) FROM table_1 GROUP BY name, gender
Lệnh SQL nào dưới đây đúng cú pháp
SELECT SUM(col_1) FROM table_1
SELECT SUM(col_1) GROUP BY col_2
SELECT AVG(col_1) FROM table_1 GROUP BY col_2, col_3
SELECT MIN(col_1), MAX(col_2) FROM table_1
SELECT col_1, COUNT(col_2) FROM table_1
Trong các tình huống sau, tình huống nào cần dùng đến lệnh UPDATE
Người dùng cập nhật thông tin profile cá nhân trên trang web
Người dùng truy cập vào 1 đường link sản phẩm trên trang web
Quản trị viên website xóa sản phẩm khỏi hệ thống
Người dùng sau khi mua hàng thì được cộng điểm thưởng
Câu lệnh UPDATE nào dưới đây đúng cú pháp ?
UPDATE table_1
UPDATE table_1 SET col_1 = 10
UPDATE table_1 SET col_1 = 10 WHERE col_2 = 20
SET col_1 = 10 UPDATE table_1
FROM table_1 SET col_1 = 10 WHERE col_2 = 20
Lệnh SQL nào đúng cú pháp ?
SELECT Order_date, AVG(Quantity)
FROM Order_details
SELECT Order_date, AVG(Quantity)
FROM Order_details
GROUP BY Order_date
SELECT Order_date, AVG(SUM(Quantity))
FROM Order_details
GROUP BY Order_date
SELECT Order_date
FROM Order_details
WHERE SUM(Quantity) > 1000
GROUP BY Order_date
