Tìm kiếm gần đúng trong SQL Server

Sử dụng SQL server

5.0 (8 đánh giá)
Tạo bởi Kteam Cập nhật lần cuối 3 năm trước 137.572 lượt xem 5 bình luận
Tác giả/Dịch giả: Kteam
Học nhanh

Danh sách bài học

Tìm kiếm gần đúng trong SQL Server

Dẫn nhập

Trong bài trước, Kteam đã hướng dẫn bạn về SELECT – FROM – WHERE nghĩa là cách TRUY VẤN CÓ ĐIỀU KIỆN . Ở bài này, chúng ta cùng tìm hiểu về cách TRUY VẤN GẦN ĐÚNG rất hữu hiệu trong việc tìm kiếm dữ liệu.


Nội dung chính

Để theo dõi tốt nhất bài này, bạn nên có kiến thức về:

Trong bài này, chúng ta sẽ cùng nhau tìm hiểu một số vấn đề sau:


Database mẫu

Để thao tác tốt với bài này, chúng ta sử dụng database HowKteam sau:


Giải bài tập truy vấn có điều kiện

Trong phần cuối của bài TRUY VẤN KẾT HỢP ĐIỀU KIỆN chúng ta có một số câu thực hành tự luyện, sẽ được giải đáp ngay dưới đây sử dụng database mẫu Howkteam:

  1. Xuất ra thông tin giáo viên và Giáo viên quản lý chủ nhiệm của người đó
  1. Xuất ra số lượng giáo viên của khoa CNTT
  1. Xuất ra thông tin giáo viên và đề tài người đó tham gia khi mà kết quả là đạt

Tìm kiếm gần đúng

Cấu trúc:

SELECT [tính chất] <danh sách column>

FROM <danh sách Table/Query>

WHERE <column> LIKE <dữ liệu mẫu>

Trong đó:

[tính chất] có thể là một trong các từ khóa * (Lấy tất cả dữ liệu), DISTINCT (lấy dữ liệu không trùng lặp) , TOP<n> (lấy dữ liệu thứ n đầu tiên)

<danh sách column> tên các bảng cột cần hiển thị ở kết quả truy vấn

  • Các column được ngăn cách với nhau bằng dấu phẩy (,)
  • ​​​​​​​Có thể gán tên cho các column với cú pháp: <tên Column> AS 'Tên thay thế'.

<danh sách table/query> tên các bảng, nguồn để lấy dữ liệu khi truy vấn

  • Các table được ngăn cách bằng dấu phẩy (,)
  • Alias là bí danh (hay còn gọi là tên gọi tắt) của table dùng cho các table có tên quá dài, hoặc một table được dùng nhiều lần trong câu truy vấn. Có thể đặt Alias theo cú pháp: <tên table> AS <tên Alias>

<Dữ liệu mẫu>  đặt sau từ khóa LIKE dùng để đại diện gần chính xác cho một dữ liệu mẫu, thông qua hai ký tự % _

            % Biểu thị một hoặc nhiều ký tự, hoặc thể hiện ký tự bằng 0.

            Biểu thị một ký tự đơn


Một số dạng tìm kiếm gần đúng

Dạng tìm kiếm

Mệnh đề WHERE

 Tìm kiếm dữ liệu bắt đầu bằng ký tự K

WHERE <column> LIKE ‘K%’

 Tìm kiếm dữ liệu kết thúc bằng ký tự K

WHERE <column> LIKE ‘%K’

 Tìm kiếm dữ liệu có chứa ký tự Kt ở vị trí bất kỳ

WHERE <column> LIKE ‘%Kt%’

 Tìm kiếm dữ liêu có ký tự K vị trí thứ hai

WHERE <column> LIKE ‘_K%’

 Tìm kiếm dữ liệu bắt đầu bằng ký tự K, và có ít nhất có chiều dài3 ký tự

WHERE <column> LIKE ‘K_%_%’

 Tìm kiếm dữ liệu bắt đầu bằng ký tự K, kết thúc bằng ký tự m

WHERE <column> LIKE ‘K%m’


Một số ví dụ

Để hiểu thêm về cách truy vấn cơ bản, chúng ta cùng nhau đi đến một số ví dụ đơn giản. Kteam khuyến khích bạn tự thao tác để có thể hiểu bài tốt hơn.

Ví dụ 1: Xuất ra thông tin giáo viên mà tên bắt đầu bằng chữ l

Ví dụ 2: Xuất ra thông tin giáo viên mà tên kết thúc bằng chữ n

Ví dụ 3: Xuất ra thông tin giáo viên mà tên có tồn tại chữ ng ở vị trí bất kỳ

Ví dụ 4:  Xuất ra thông tin giáo viên mà tên có tồn tại chữ ế

Ví dụ 5: Xuất ra thông tin giáo viên mà tên có tồn tại chữ iế và có độ dài ít nhất 4 ký tự

Ví dụ 6: Xuất ra thông tin của giáo viên mà tên bắt đầu bằng chữ Tr và kết thúc bằng chữ ng


Kết

Trong bài này, chúng ta đã tìm hiểu về các cách TÌM KIẾM DỮ LIỆU GẦN ĐÚNG trong SQL

Bài sau chúng ta sẽ tìm hiểu về INNER JOIN TRONG SQL.

Cảm ơn các bạn đã theo dõi bài viết. Hãy để lại bình luận hoặc góp ý của bạn để phát triển bài viết tốt hơn. Đừng quên “Luyện tập – Thử thách – Không ngại khó”.


Tải xuống

Tài liệu

Nhằm phục vụ mục đích học tập Offline của cộng đồng, Kteam hỗ trợ tính năng lưu trữ nội dung bài học Tìm kiếm gần đúng trong SQL Server dưới dạng file PDF trong link bên dưới.

Ngoài ra, bạn cũng có thể tìm thấy các tài liệu được đóng góp từ cộng đồng ở mục TÀI LIỆU trên thư viện Howkteam.com

Đừng quên likeshare để ủng hộ Kteam và tác giả nhé!

Project

Nếu việc thực hành theo hướng dẫn không diễn ra suôn sẻ như mong muốn. Bạn cũng có thể tải xuống PROJECT THAM KHẢO ở link bên dưới!


Thảo luận

Nếu bạn có bất kỳ khó khăn hay thắc mắc gì về khóa học, đừng ngần ngại đặt câu hỏi trong phần bên dưới hoặc trong mục HỎI & ĐÁP trên thư viện Howkteam.com để nhận được sự hỗ trợ từ cộng đồng.

Tác giả/Dịch giả

Khóa học

Sử dụng SQL server

Với hệ thống nhỏ, chúng ta hoàn toàn có thể lưu trữ dữ liệu bằng file để khi tắt ứng dụng dữ liệu chúng ta vẫn còn được lưu giữ. Nhưng với hệ thống lớn, truy vấn tìm kiếm, thao tác với dữ liệu trên file không còn dễ dàng và hiệu quả nữa. Và SQL ra đời để giải quyết vấn đề đó.

Chúng ta cùng nhau tìm hiểu về SQL và SQL Server thông qua serial HƯỚNG DẪN SỬ DỤNG SQL SERVER nhé!

Đánh giá

jinsama đã đánh giá 2 năm trước

phungduongd đã đánh giá 3 năm trước

longcon đã đánh giá 4 năm trước

Pipull đã đánh giá 4 năm trước

ninhcongluc1 đã đánh giá 4 năm trước

Bình luận

Để bình luận, bạn cần đăng nhập bằng tài khoản Howkteam.

Đăng nhập
longcon đã bình luận 4 năm trước

Em thấy với câu hỏi này thì code như em cho đủ thông tin hơn ạ

Xuất ra thông tin giáo viên và đề tài người đó tham gia khi mà kết quả là đạt
SELECT GV.MAGV, GV.HOTEN, DT.TENDT, KQ.KETQUA FROM GIAOVIEN as GV, DETAI as DT, THAMGIADT as KQ
WHERE GV.MAGV = KQ.MAGV and KQ.MADT = DT.MADT and KQ.KETQUA = N'Đạt'

honguyen đã bình luận 5 năm trước

Tìm kiếm dữ liệu bắt đầu bằng ký tự K, và có ít nhất có chiều dài là 3 ký tự:

…WHERE <column> LIKE ‘K__%’  có đúng không,

tôi thấy như vầy …WHERE <column> LIKE ‘K_%_%’ có vẻ dư 1 dấu %

honguyen đã bình luận 5 năm trước

Tìm kiếm dữ liệu bắt đầu bằng ký tự K, và có ít nhất có chiều dài là 3 ký tự:

…WHERE <column> LIKE ‘K__%’  có đúng không,

tôi thấy như vầy …WHERE <column> LIKE ‘K_%_%’ có vẻ dư 1 dấu %

CuongHoang đã bình luận 5 năm trước

Cho em hỏi lúc select from [bảng1], [bảng 2] nó có khác lúc select from [bảng 1] join [bảng 2] không ạ

 

Tuyền Lê đã bình luận 7 năm trước

ĐANG HỌC BÀI NÀY

Không có video.