G-LEARNING
G-LEARNING
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 938 lượt xem

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

G-LEARNING
G-LEARNING
Apr 21 2020

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:

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ề

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:

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:

Bảng 2: movies:

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: 

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

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:

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

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 đó:

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.

Đổ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:

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” :

Kết quả sẽ như sau:

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

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:

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ị

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

Gitiho.com Nền tảng học online duy nhất tại Việt Nam tập trung vào phát triển kỹ năng làm việc dành cho người đi làm
Với sứ mệnh: Mang cơ hội phát triển kỹ năng, phát triển nghề nghiệp tới hàng triệu người”, đội ngũ phát triển Gitiho.com đã và đang làm việc với những học viện, trung tâm đào tạo, các chuyên gia đầu ngành để nghiên cứu và xây dựng lên các chương trình đào tạo từ cơ bản đến chuyên sâu xung quanh các lĩnh vực: Tin học văn phòng, Phân tích dữ liệu, Thiết kế, Công nghệ thông tin, Kinh doanh, Marketing, Quản lý dự án...
Gitiho tự hào khi được đồng hành cùng:
  • 50+ khách hàng doanh nghiệp lớn trong nhiều lĩnh vực như: Vietinbank, Vietcombank, BIDV, VP Bank, TH True Milk, VNPT, FPT Software, Samsung SDIV, Ajinomoto Việt Nam, Messer,…
  • 100.000+ học viên trên khắp Việt Nam

Tìm hiểu ngay các khóa học của Gitiho TẠI ĐÂY



Thảo luận 0 câu trả lời
Lượt xem 938 lượt xem
Vỗ tay vỗ tay

0 Bình 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