--- Bài mới hơn ---
Giới Hạn Của Hàm Hai Biến Số
143 Bài Tập Giới Hạn Dãy Số
Chuyên Đề Vecto Trong Không Gian Quan Hệ Vuông Góc
Bài Tập Hóa Học Nâng Cao Môn Hóa Lớp 8
Bài Tập Cân Bằng Phản Ứng Oxi Hóa Khử
Lưu ý, có nhiều lời giải cho một bài toán. Nên, nếu câu truy vấn của bạn và của mình có khác biệt, hay kiểm tra thử kết quả của chúng. Trong một số lời giải, mình sẽ thay đổi một xíu, để lồng ghép cái gì đó vào. Các bạn hãy chú ý.
1, Liệt kê các nhân viên của cửa hàng.
1
2
SELECT
CONCAT
(
FirstName
,
‘ ‘
,
LastName
)
AS
FullName
,
Title
FROM
Employee
;
2, Tìm các nhân viên tên có chứa ít nhất 1 chữ ‘a’.
1
2
3
SELECT
CONCAT
(
FirstName
,
‘ ‘
,
LastName
)
AS
FullName
,
Title
FROM
Employee
WHERE
FirstName
LIKE
‘%a%’
;
1
2
3
SELECT
*
FROM
Genre
ORDER
BY
Name
;
4, Đếm số lượng thể loại.
1
2
SELECT
COUNT
(
GenreId
)
AS
NoG
FROM
Genre
;
5, Liệt kê các track theo từng yêu cầu.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
6, Liệt kê các thành phố xuất hiện trong bảng khách hàng (customers).
1
2
3
SELECT
DISTINCT
City
FROM
Customer
ORDER
BY
City
;
7, Liệt kê 10 hóa đơn có giá trị cao nhất.
1
2
3
SELECT
TOP
(
10
)
*
FROM
Invoice
ORDER
BY
Total
DESC
;
8, Truy vấn hóa đơn thứ 100 (sắp xếp theo ngày).
1
2
3
4
5
SELECT
*
FROM
Invoice
ORDER
BY
InvoiceDate
OFFSET
99
ROWS
FETCH
FIRST
1
ROW
ONLY
;
9, Liệt kê các bài hát thuộc một trong hai album: ‘Supernatural’, ‘Use Your Illusion I’.
1
2
3
4
5
SELECT
*
FROM
Track
INNER
JOIN
Album
ON
Track
.
AlbumId
=
Album
.
AlbumId
WHERE
Album
.
Title
=
‘Supernatural’
OR
Album
.
Title
=
‘Use Your Illusion I’
;
10, Liệt kê các hóa đơn trong tháng 2 năm 2011.
1
2
3
SELECT
*
FROM
Invoice
WHERE
InvoiceDate
BETWEEN
‘2011-02-01’
AND
‘2011-02-28’
;
1
2
3
SELECT
*
FROM
InvoiceLine
WHERE
InvoiceId
=
47
;
12, Liệt kê các bài hát thuộc thể loại ‘Jazz’, ‘Blues’ và ‘Pops’.
1
2
3
4
SELECT
*
FROM
Track
INNER
JOIN
Genre
ON
Track
.
GenreId
=
Genre
.
GenreId
WHERE
Genre
.
Name
IN
(
‘Jazz’
,
‘Blues’
,
‘Pops’
)
;
13, Liệt kê các bài hát không xác định tác giả.
1
2
3
SELECT
*
FROM
Track
WHERE
Composer
IS
NULL
;
14, Đếm số lượng bài hát trong Album có id = 1.
1
2
3
4
SELECT
AlbumId
,
COUNT
(
TrackId
)
AS
Track_no
FROM
Track
GROUP
BY
AlbumId
HAVING
AlbumId
=
10
;
15, Liệt kê các Album có từ 18 đến 20 bài hát, sắp xếp theo thứ tự AlbumId tăng dần.
1
2
3
4
5
SELECT
AlbumId
,
COUNT
(
TrackId
)
FROM
Track
GROUP
BY
AlbumId
HAVING
COUNT
(
TrackId
)
BETWEEN
18
AND
20
ORDER
BY
AlbumId
;
16, Liệt kê tất cả các khách hàng, được các nhân viên có mã PostalCode bắt đầu bằng ‘T2P’.
1
2
3
4
5
6
7
SELECT
CustomerId
,
CONCAT
(
FirstName
,
‘ ‘
,
LastName
)
AS
Customer_Name
FROM
Customer
WHERE
SupportRepId
IN
(
SELECT
EmployeeId
FROM
Employee
WHERE
PostalCode
LIKE
‘T2P%’
)
;
17, Tính dung lượng trung bình của mỗi Album.
1
2
3
4
5
6
SELECT
AVG
(
MyAlbum
.
Size
)
FROM
(
SELECT
SUM
(
CAST
(
Bytes
AS
BIGINT
)
)
AS
Size
FROM
Track
GROUP
BY
AlbumId
)
AS
MyAlbum
;
18, Liệt kê Id, tiêu đề và số bài hát trong mỗi Album. Sắp xếp theo số lượng bài hát giảm dần.
1
2
3
4
5
6
7
8
SELECT
AlbumId
,
Title
,
(
SELECT
COUNT
(
TrackId
)
FROM
Track
WHERE
Track
.
AlbumId
=
Album
.
AlbumId
)
AS
Track_Count
FROM
Album
ORDER
BY
Track_Count
DESC
;
19, Liệt kê CustomerId, FirstName, LastName và Country của các khách hàng.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
20, Truy vấn thông tin InvoiceId, FirstName, LastName, InvoiceDate và Total các hóa đơn của khách hàng tại Brazil. Sắp xếp kết quả theo thứ tự giảm dần giá trị hóa đơn.
1
2
3
4
5
6
7
8
9
SELECT
I
.
InvoiceId
,
CONCAT
(
C
.
FirstName
,
‘ ‘
,
C
.
LastName
)
AS
‘FullName’
,
I
.
InvoiceDate
,
I
.
Total
FROM
Invoice
AS
I
INNER
JOIN
Customer
AS
C
ON
I
.
CustomerId
=
C
.
CustomerId
WHERE
C
.
Country
=
‘Brazil’
ORDER
BY
I
.
Total
DESC
21, Liệt kê các nhân viên kinh doanh.
1
2
3
SELECT
CONCAT
(
FirstName
,
‘ ‘
,
LastName
)
AS
‘FullName’
FROM
Employee
WHERE
Title
LIKE
‘%Sale%’
22, Tính tổng giá trị hóa đơn trong năm 2009, 2010, 2011.
1
2
3
4
5
6
SELECT
YEAR
(
InvoiceDate
)
AS
InvoiceYear
,
SUM
(
Total
)
AS
Total
FROM
Invoice
WHERE
YEAR
(
InvoiceDate
)
IN
(
2009
,
2010
,
2011
)
GROUP
BY
YEAR
(
InvoiceDate
)
23, Đếm số lượng items trong hóa đơn có id = 37.
1
2
3
SELECT
COUNT
(
*
)
FROM
InvoiceLine
WHERE
InvoiceId
=
37
;
24, Đếm số lượng items của từng hóa đơn. Sắp xếp theo số lượng item giảm dần.
1
2
3
4
SELECT
InvoiceId
,
COUNT
(
*
)
AS
Items
FROM
InvoiceLine
GROUP
BY
InvoiceId
ORDER
BY
COUNT
(
*
)
DESC
1
2
3
4
5
26, Liệt kê tên Playlist và số lượng bài hát trong từng playlist
1
2
3
4
SELECT
Playlist
.
Name
,
COUNT
(
PlaylistTrack
.
TrackId
)
AS
Track_No
FROM
Playlist
INNER
JOIN
PlaylistTrack
ON
Playlist
.
PlaylistId
=
PlaylistTrack
.
PlaylistId
GROUP
BY
Playlist
.
Name
27, Truy vấn thông tin nhân viên kinh doanh có doanh thu lớn nhất vào năm 2010.
1
2
3
4
5
6
SELECT
TOP
(
1
)
E
.
EmployeeId
,
SUM
(
I
.
Total
)
AS
Sales
FROM
Employee
AS
E
INNER
JOIN
Customer
AS
C
ON
E
.
EmployeeId
=
C
.
SupportRepId
INNER
JOIN
Invoice
AS
I
ON
C
.
CustomerId
=
I
.
CustomerId
WHERE
YEAR
(
I
.
InvoiceDate
)
=
2010
GROUP
BY
E
.
EmployeeId
28, Truy vấn EmployeeId, FirstName, LastName và số lượng khách hàng của mỗi nhân viên.
1
2
3
4
5
6
7
8
9
10
SELECT
EmployeeId
,
CONCAT
(
FirstName
,
‘ ‘
,
LastName
)
AS
Fullname
,
Support
.
Clients
FROM
Employee
INNER
JOIN
(
SELECT
SupportRepId
,
COUNT
(
*
)
AS
Clients
FROM
Customer
GROUP
BY
SupportRepId
)
AS
Support
ON
Employee
.
EmployeeId
=
Support
.
SupportRepId
29, Truy vấn thông tin 3 khách hàng chi tiêu nhiều nhất trong năm 2012.
1
2
3
4
5
6
7
8
9
SELECT
*
FROM
Customer
WHERE
CustomerId
IN
(
SELECT
TOP
(
3
)
CustomerId
FROM
Invoice
WHERE
YEAR
(
InvoiceDate
)
=
2012
GROUP
BY
CustomerId
ORDER
BY
SUM
(
Total
)
DESC
)
30, Truy vấn 3 thể loại được ưa chuộng nhất của cửa hàng.
1
2
3
4
5
6
SELECT
TOP
(
3
)
Genre
.
Name
,
COUNT
(
*
)
AS
Sales
FROM
InvoiceLine
INNER
JOIN
Track
ON
InvoiceLine
.
TrackId
=
Track
.
TrackId
INNER
JOIN
Genre
ON
Genre
.
GenreId
=
Track
.
GenreId
GROUP
BY
Genre
.
Name
ORDER
BY
Sales
DESC
31, Liệt kê tất cả thông tin trong bảng “Playlist”.
1
2
SELECT
*
FROM
Playlist
32, Liệt kê tất cả các quốc tra trong bảng “Customer”. Mỗi giá trị chỉ in ra 1 lần duy nhất.
1
2
SELECT
DISTINCT
Country
FROM
Customer
33, Liệt kê tất cả các Track có tên tác giả (Composer) có từ ‘smith’ VÀ genreId = 3.
1
2
3
SELECT
*
FROM
Track
WHERE
Composer
LIKE
‘%smith%’
AND
GenreId
=
3
34, Liệt kê thông tin của 5 hóa đơn có giá trị cao nhất trong năm 2012.
1
2
3
4
SELECT
TOP
(
5
)
*
FROM
Invoice
WHERE
YEAR
(
InvoiceDate
)
=
2012
ORDER
BY
Total
DESC
35, Tính tổng doanh thu của cửa hàng trong năm 2012.
1
2
3
SELECT
SUM
(
total
)
AS
‘Total Income 2012’
FROM
Invoice
WHERE
YEAR
(
InvoiceDate
)
=
2012
36, Đếm số lượng bài hát của từng thể loại.
1
2
3
4
SELECT
Genre
.
Name
AS
Genre
,
COUNT
(
*
)
AS
Track
_
No
FROM
Track
INNER
JOIN
Genre
ON
Track
.
GenreId
=
Genre
.
GenreId
GROUP
BY
Genre
.
Name
37, Liệt kê tất cả các bài hát (Track) thuộc thể loại nhạc ‘Rock’.
1
2
3
4
SELECT
Track
.
*
FROM
Track
INNER
JOIN
Genre
ON
Track
.
GenreId
=
Genre
.
GenreId
WHERE
Genre
.
Name
=
‘Rock’
38, Liệt kê tên tất cả Album của Artist “AC/DC”.
1
2
3
4
SELECT
Album
.
Title
AS
Album
,
Artist
.
Name
AS
Artist
FROM
Album
INNER
JOIN
Artist
ON
Album
.
ArtistId
=
Artist
.
ArtistId
WHERE
Artist
.
Name
=
‘AC/DC’
39, Liệt kê tất cả thể loại.
1
2
SELECT
*
FROM
Genre
40, Liệt kê tất cả các playlist.
1
2
SELECT
*
FROM
Playlist
41, Liệt kê tất cả các nghệ sĩ.
1
2
SELECT
*
FROM
Artist
42, Liệt kê tất cả các thành phố trong bảng Invoice. Mỗi giá trị chỉ được hiển thị 1 lần duy nhất.
1
2
SELECT
DISTINCT
BillingCity
FROM
Invoice
43, Liệt kê tất cả các quốc gia trong bảng Invoice. Mỗi giá trị chỉ được hiển thị 1 lần duy nhất
1
2
SELECT
DISTINCT
BillingCountry
FROM
Invoice
44, Liệt kê tất cả các quốc gia trong bảng Customer. Mỗi giá trị chỉ được hiển thị 1 lần duy nhất.
1
2
SELECT
DISTINCT
Country
FROM
Customer
45, Liệt kê tất cả các khách hàng tại ‘USA’ hoặc ‘Brazil’.
1
2
3
SELECT
*
FROM
Customer
WHERE
Country
=
‘USA’
OR
Country
=
‘Brazil’
46, Liệt kê tất cả các khách hàng tại thành phố ‘Toronto’, ‘Canada’.
1
2
3
SELECT
*
FROM
Customer
WHERE
City
=
‘Toronto’
AND
Country
=
‘Canada’
47, Liệt kê tất cả khách hàng có FirstName bắt đầu bằng chữ ‘h’ hoặc chữ ‘k’.
1
2
3
SELECT
*
FROM
Customer
WHERE
FirstName
LIKE
‘h%’
OR
FirstName
LIKE
‘k%’
48, Liệt kê các hóa đơn trong tháng 5 năm 2012.
1
2
3
SELECT
*
FROM
Invoice
WHERE
InvoiceDate
BETWEEN
‘2012-05-01’
AND
‘2012-05-31’
49, Liệt kê các hóa đơn có giá trị từ 5 – 10 USD.
1
2
3
SELECT
*
FROM
Invoice
WHERE
Total
BETWEEN
5
AND
10
50, Liệt kê các hóa đơn từ một trong những thành phố: ‘New York’, ‘Chicago’ và ‘Toronto’.
1
2
3
SELECT
*
FROM
Invoice
WHERE
BillingCity
IN
(
‘New York’
,
‘Chicago’
,
‘Toronto’
)
51, Liệt kê 5 hóa đơn có giá trị lớn nhất.
1
2
3
SELECT
TOP
(
5
)
*
FROM
Invoice
ORDER
BY
Total
DESC
52, Liệt kê 5 bài hát có giá cao nhất.
1
2
3
SELECT
TOP
(
5
)
*
FROM
Track
ORDER
BY
UnitPrice
DESC
53, Liệt kê 5 bài hát có thời lượng dài nhất.
1
2
3
SELECT
TOP
(
5
)
*
FROM
Track
ORDER
BY
Milliseconds
DESC
54, Tính giá trị trung bình các hóa đơn.
1
2
SELECT
AVG
(
Total
)
FROM
invoice
55, Tính giá tiền trung bình các bài hát.
1
2
SELECT
AVG
(
UnitPrice
)
FROM
Track
56, Đếm tổng số lượng khách hàng.
1
2
SELECT
COUNT
(
*
)
FROM
Customer
57, Đếm số lượng bài hát theo từng AlbumId.
1
2
3
SELECT
AlbumId
,
COUNT
(
*
)
FROM
Track
GROUP
BY
AlbumId
58, Đếm số lượng bài hát theo từng GenreId.
1
2
3
SELECT
GenreId
,
COUNT
(
*
)
FROM
Track
GROUP
BY
GenreId
59, Đếm số lượng bài hát theo từng MediaTypeId.
1
2
3
SELECT
MediaTypeId
,
COUNT
(
*
)
FROM
Track
GROUP
BY
MediaTypeId
60, Liệt kê tất cả bài hát thuộc thể loại nhạc ‘Pop’.
1
2
3
4
SELECT
*
FROM
Track
INNER
JOIN
Genre
ON
Track
.
GenreId
=
Genre
.
GenreId
WHERE
Genre
.
Name
=
‘Pop’
61, Liệt kê tất cả bài hát thuộc album ‘Big Ones’.
1
2
3
4
SELECT
*
FROM
Track
INNER
JOIN
Album
ON
Track
.
AlbumId
=
Album
.
AlbumId
WHERE
Album
.
Title
=
‘Big Ones’
62, Liệt kê tất cả bài hát có định dạng Media là ‘MPEG audio file’.
1
2
3
4
SELECT
*
FROM
Track
INNER
JOIN
MediaType
ON
Track
.
MediaTypeId
=
MediaType
.
MediaTypeId
WHERE
MediaType
.
Name
=
‘MPEG audio file’
63, Liệt kê tất cả bài hát kèm theo tên Album tương ứng.
1
2
3
SELECT
*
FROM
Track
INNER
JOIN
Album
ON
Track
.
AlbumId
=
Album
.
AlbumId
64, Liệt kê tất cả các Album kèm theo tên nghệ sĩ tương ứng.
1
2
3
SELECT
*
FROM
Album
INNER
JOIN
Artist
ON
Album
.
ArtistId
=
Album
.
AlbumId
65, Liệt kê tất cả các hóa đơn kèm theo thông tin khách hàng tương ứng.
1
2
3
SELECT
*
FROM
Invoice
INNER
JOIN
Customer
ON
Invoice
.
CustomerId
=
Customer
.
CustomerId
66, Liệt kê các thể loại (kèm số lượng bài hát tương ứng) có số lượng bài hát lớn hơn 100.
1
2
3
4
5
67, Liệt kê tên album (kèm số lượng bài hát tương ứng) có số lượng bài hát lớn hơn 15.
1
2
3
4
5
68, Liệt tên các loại Media (kèm số lượng bài hát tương ứng) có số lượng bài hát lớn hơn 200.
1
2
3
4
5
--- Bài cũ hơn ---
Bài Tập Toán Lớp 2 Cơ Bản Và Nâng Cao Cho Bé
Hệ Mật Mã Khối Và Các Thuật Toán Mã Hóa Khối Kinh Điển: Des
Des Là Gì? Code Ví Dụ Des Bằng Java
Tài Liệu Bài Tập Về Diode Có Lời Giải, Bài Tập Diode Có Lời Giải
Bảo Hiểm Là Gì? Các Thuật Ngữ Cơ Bản Nhất Trong Bảo Hiểm Bạn Nên Biết