Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Nội dung được viết bởi G-LEARNING

Cơ sở dữ liệu lưu trữ dữ liệu với mục đích là để giúp chúng ta truy xuất dữ liệu sau này. Vậy phải làm thế nào để làm được công việc đó? Trong thực tế, lệnh SELECT trong MySQL sẽ giúp chúng ta thực hiện truy vấn dữ liệu một cách dễ dàng. Nó là một phần của ngôn ngữ thao tác dữ liệu chịu trách nhiệm truy vấn dữ liệu từ cơ sở dữ liệu.

Cú pháp câu lệnh SELECT trong SQL

Lệnh SELECT là câu lệnh được sử dụng thường xuyên nhất trong SQL, nó có cú pháp chung sau đây:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Trong đó:

  • SELECT : là từ khóa cho phép cơ sở dữ liệu biết rằng bạn muốn truy xuất dữ liệu
  • [DISTINCT | ALL] (tùy chọn) : được sử dụng để điều chỉnh các kết quả được trả về từ câu lệnh SELECT. Nếu không được chỉ định thì mặc định sẽ là ALL.
  • {*| [fieldExpression [AS newName]}: ít nhất một phần phải được chỉ định, “*” là chọn tất cả các trường từ tên bảng được xác định trước, fieldExpression thực hiện một số tính toán trên các trường đã chỉ định như là thêm số hoặc ghép hai trường chuỗi thành một.
  • FROM tableName(tên bảng) (bắt buộc): phải chứa ít nhất tên một bảng. Nếu chọn nhiều bảng thì tên các bảng phải được ngăn cách nhau bằng dấu phẩy hoặc sử dụng từ khóa JOIN
  • WHERE condition(điều kiện) (tùy chọn): có thể được sử dụng để chỉ định tiêu chí trong tập kết quả trả về từ câu lệnh truy vấn
  • GROUP BY: được sử dụng để nhóm các bản ghi có cùng giá trị trường
  • HAVING condition(điều kiện): được sử dụng để xác định các tiêu chí khi làm việc với câu lệnh GROUP BY
  • ORDER BY: được sử dụng để chỉ định thứ tự sắp xếp của tập kết quả trả về
Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Ký tự “*” được sử dụng khi muốn chọn tất cả các cột trong một bảng. Sau đây là ví dụ về một câu lệnh SELECT đơn giản:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Câu lệnh trên chọn tất cả các trường từ bảng “members”. Dấu chấm phẩy dùng để tuyên bố chấm dứt câu lệnh. Mặc dù không bắt buộc sử dụng dấu chấm phẩy nhưng tốt nhất là bạn nên sử dụng nó khi kết thúc một câu lệnh.

Ví dụ :

Để hiểu rõ và luyện tập tốt hơn phần này, bạn nên tải dữ liệu myflix DB để thực hiện chạy trong MySQL

https://drive.google.com/uc?export=download&id=0B_vqvT0ovzHccjhtdGlrZ0MtZ0k

Import file .sql vào MySQL workbench

Các ví dụ được thực hiện dựa trên hai bảng sau:

Bảng 1: members:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Bảng 2: movies:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Lấy danh sách thành viên:

Giả sử rằng chúng ta muốn lấy danh sách tất cả các thành viên đã đăng ký vào thư viện từ cơ sở dữ liệu này, thực hiện câu lệnh sau: 

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Khi chạy câu lệnh này, trong MySQL workbench sẽ hiển thị kết quả :

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Truy vấn trên trả về tất cả các hàng và cột từ bảng “members”

Trong trường hợp chúng ta chỉ quan tâm đến các trường full_names, gender, physical_address và email thì có thể sử dụng câu lệnh sau:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Khi thực hiện câu lệnh trên sẽ cho ra kết quả:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Lấy danh sách phim

Giả sử chúng ta muốn lấy danh sách phim từ cơ sở dữ liệu và năm phát hành. Với điều kiện là tên phim và tên đạo diễn trong cùng một trường. Tên của đạo diễn phim được đặt trong dấu ngoặc đơn. Câu lệnh sau sẽ giúp thực hiện điều đó:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Trong đó:

  • Hàm Concat() được sử dụng để nối giá trị cột với nhau.
  • Dòng  “Concat (`title`, ‘ (‘, `director`, ‘)’) nghĩa là lấy tiêu đề, thêm một dấu ngoặc mở theo sau là tên của đạo diễn và sau đó thêm ngoặc đóng.
  • Trong hàm Concat(), các phần chuỗi được phân tách nhau bằng dấu phẩy.

Thực thi câu lệnh trên trong MySQL tạo ra tập kết quả sau.

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Đổi tên trường tạm thời:

Ví dụ ở phần trên trả về dòng lệnh Concat (`title`, ‘ (‘, `director`, ‘)’) làm tên cột mới cho kết quả hiện ra. Giả sử chúng ta muốn đặt tên khác để mô tả cụ thể và rõ ràng hơn cho cột thông tin đó thì có thể sử dụng câu lệnh sau:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Trong đó:

  • “SELECT ` column_name|value|expression `” : là câu lệnh SELECT thông thường, có thể là tên cột, giá trị hoặc biểu thức
  • “[AS]” (tùy chọn):  được đặt trước tên thay thế của biểu thức, giá trị hay tên cột được trả về.
  • “`alias_name`” : là tên thay thế mà chúng ta muốn trả về khi hiển thị kết quả.

Thực hiện lại câu lệnh concat() trên với tên thay thế là “Concat” :

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Kết quả sẽ như sau:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Lấy danh sách thành viên với năm sinh:

Giả sử muốn xem danh sách tất cả các thành viên với mã số thành viên, họ tên và năm sinh, chúng ta có thể sử dụng hàm LEFT để trích xuất năm sinh từ cột ngày tháng năm sinh

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Trong đó:

“LEFT(`date_of_birth`,4)” : Hàm LEFT chấp nhận ngày sinh làm tham số và chỉ trả về 4 ký tự đầu tiên từ bên trái sang.

“AS `year_of_birth`” là tên thay thế của cột được trả về trong kết quả. Lưu ý là AS là tùy chọn, nếu bạn bỏ qua nó thì câu truy vấn vẫn sẽ hoạt động bình thường

Thực hiện câu lệnh truy vấn ở trên trong MySQL sẽ cho ra kết quả sau:

Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Truy vấn dữ liệu với MySQL workbench:

Trong phần này chúng ta sẽ sử dụng MySQL workbench để tạo câu lệnh hiển thị tất cả tên trường từ bảng danh mục. Thực hiện các bước sau :

  1. Kích chuột phải vào Categories Table. Nhấp vào “Select Rows – Limit 1000”
  2. MySQL workbench sẽ tự động tạo một truy vấn SQL và dán vào trình soạn thảo
  3. Kết quả truy vấn sẽ được hiển thị
Hướng dẫn cách sử dụng câu lệnh SELECT trong MySQL qua các ví dụ

Lưu ý rằng chúng ta không tự viết câu lệnh truy vấn mà MySQL đã tự động tạo ra.

Vậy tại sao chúng ta phải sử dụng lệnh SELECT SQL trong khi đã có MySQL workbench?

Sau khi đọc đến phần này, bạn có thể nghĩ rằng tại sao chúng ta phải học lệnh SQL SELECT để truy vấn dữ liệu trong khi chỉ cần sử dụng một công cụ như MySQL workbench là có thể ra kết quả tương tự mà không cần phải biết về ngôn ngữ SQL. Tất nhiên điều đó là có thể nhưng học cách sử dụng lệnh SELECT sẽ giúp bạn linh hoạt hơn và có thể kiểm soát được tốt hơn các câu lệnh SQL SELECT của mình.

MySQL workbench nằm trong danh mục các công cụ QBE “Query by Example – Truy vấn bằng ví dụ”. Nó nhằm mục đích giúp tạo các câu lệnh SQL nhanh hơn để giúp tăng năng suất người dùng. Tuy nhiên Học lệnh SQL SELECT có thể cho phép bạn tạo các truy vấn phức tạp mà không thể dễ dàng tạo ra bằng các tiện ích QBE.

Bên cạnh đó, để cải thiện năng suất, bạn có thể tạo code bằng các câu lệnh có sẵn của MySQL workbench sau đó tùy chỉnh nó để đáp ứng yêu cầu của bản thân. Điều này chỉ có thể xảy ra trong trường hợp bạn đã nắm rõ và hiểu cách các câu lệnh SQL hoạt động ! 

Tóm tắt:

  • Từ khóa SQL SELECT được sử dụng để truy vấn dữ liệu từ cơ sở dữ liệu và đó là lệnh được sử dụng phổ biến nhất.
  • Biểu mẫu đơn giản nhất có cú pháp là “SELECT * FROM tableName;”
  • Biểu thức cũng có thể được sử dụng trong câu lệnh select. Ví dụ “SELECT quantity + price FROM Sales”.
  • Lệnh SQL SELECT cũng có thể có các tham số tùy chọn khác như WHERE, GROUP BY, HAVING, ORDER BY. Chúng sẽ được thảo luận ở các phần sau.
  • MySQL workbench có thể giúp phát triển các câu lệnh SQL, thực thi chúng và tạo ra kết quả đầu ra trong cùng một cửa sổ.

Cám ơn các bạn đã theo dõi đến hết bài. Nếu các bạn muốn biết thêm kiến thức về truy vấn dữ liệu SQL thì có thể xem thêm các bài viết khác của gitiho nhé!

Đánh giá bài viết này

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông