MySQL Câu lệnh CHỌN kèm ví dụ
Truy vấn CHỌN trong MySQL?
SELECT QUERY được sử dụng để lấy dữ liệu từ MySQL cơ sở dữ liệu. Cơ sở dữ liệu lưu trữ dữ liệu để truy xuất sau này. Mục đích của MySQL Chọn là trả về từ các bảng cơ sở dữ liệu một hoặc nhiều hàng khớp với tiêu chí nhất định. Truy vấn chọn có thể được sử dụng bằng ngôn ngữ kịch bản như PHP, Ruby hoặc bạn có thể thực thi nó thông qua dấu nhắc lệnh.
Cú pháp câu lệnh SQL SELECT
Đây là lệnh SQL được sử dụng thường xuyên nhất và có cú pháp chung sau
SELECT [DISTINCT|ALL ] { * | [fieldExpression [AS newName]} FROM tableName [alias] [WHERE condition][GROUP BY fieldName(s)] [HAVING condition] ORDER BY fieldName(s)
tại ĐÂY
- CHỌN là từ khóa SQL cho phép cơ sở dữ liệu biết rằng bạn muốn truy xuất dữ liệu.
- [RÁC BIỆT | TẤT CẢ] là những từ khóa tùy chọn có thể được sử dụng để tinh chỉnh kết quả trả về từ câu lệnh SQL SELECT. Nếu không có gì được chỉ định thì ALL được coi là mặc định.
- {*| [fieldExpression [AS newName]} ít nhất một phần phải được chỉ định, “*” chọn tất cả các trường từ tên bảng được chỉ định, fieldExpression thực hiện một số tính toán trên các trường được chỉ định như cộng số hoặc ghép hai trường chuỗi thành một.
- TỪ tableName là bắt buộc và phải chứa ít nhất một bảng, nhiều bảng phải được phân tách bằng dấu phẩy hoặc nối bằng từ khóa JOIN.
- Ở ĐÂU điều kiện là tùy chọn, nó có thể được sử dụng để chỉ định tiêu chí trong tập kết quả được trả về từ truy vấn.
- NHÓM THEO được sử dụng để tập hợp các bản ghi có cùng giá trị trường.
- ĐANG CÓ điều kiện được sử dụng để chỉ định tiêu chí khi làm việc bằng từ khóa GROUP BY.
- ĐẶT BỞI được sử dụng để chỉ định thứ tự sắp xếp của tập kết quả.
*
Biểu tượng Ngôi sao được sử dụng để chọn tất cả các cột trong bảng. Một ví dụ về câu lệnh SELECT đơn giản trông giống như câu lệnh được hiển thị bên dưới.
SELECT * FROM `members`;
Câu lệnh trên chọn tất cả các trường từ bảng thành viên. Dấu chấm phẩy là câu lệnh chấm dứt. Nó không bắt buộc nhưng được coi là một cách tốt để kết thúc câu nói của bạn như thế.
Ví dụ thực tế
Nhấp để tải xuống myflix DB được sử dụng cho các ví dụ thực tế.
Bạn có thể học cách nhập tệp .sql vào MySQL bàn làm việc
Các ví dụ được thực hiện trên hai bảng sau
Bảng 1: thành viên bàn
| số thành viên_ | tên đầy đủ | giới | ngày sinh | địa chỉ vật lý | địa chỉ bưu điện | số liên lạc_ | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Nữ | 21-07-1980 | Lô đất đường số 4 số XNUMX | Túi riêng | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Nữ | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Nam | 12-07-1989 | Đường số 3 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Nữ | 14-02-1984 | Đường số 2 23 | NULL | NULL | NULL |
Bảng 2: phim bàn
| id phim | tiêu đề | Giám đốc | năm_phát hành | Thể loại ID |
|---|---|---|---|---|
| 1 | Cướp biển vùng Caribe 4 | Rob Marshall | 2011 | 1 |
| 2 | Quên Sarah Marshal | Xe đẩy Nicholas | 2008 | 2 |
| 3 | X-Men | NULL | 2008 | NULL |
| 4 | Tên mã Đen | Edgar Jimz | 2010 | NULL |
| 5 | Những cô gái nhỏ của bố | NULL | 2007 | 8 |
| 6 | Thiên thần và ác quỷ | NULL | 2007 | 6 |
| 7 | Mật mã Da Vinci | NULL | 2007 | 6 |
| 9 | Honey người trăng tròn | John Schultz | 2005 | 8 |
| 16 | 67% Có Tội | NULL | 2012 | NULL |
Lấy danh sách thành viên
Giả sử chúng ta muốn lấy danh sách tất cả các thành viên thư viện đã đăng ký từ cơ sở dữ liệu của mình, chúng ta sẽ sử dụng tập lệnh hiển thị bên dưới để thực hiện điều đó.
SELECT * FROM `members`;
Thực thi đoạn script trên trong MySQL workbench tạo ra các kết quả sau.
| số thành viên_ | tên đầy đủ | giới | ngày sinh | địa chỉ vật lý | địa chỉ bưu điện | số liên lạc_ | |
|---|---|---|---|---|---|---|---|
| 1 | Janet Jones | Nữ | 21-07-1980 | Lô đất đường số 4 số XNUMX | Túi riêng | 0759 253 542 | janetjones@yagoo.cm |
| 2 | Janet Smith Jones | Nữ | 23-06-1980 | Melrose 123 | NULL | NULL | jj@fstreet.com |
| 3 | Robert Phil | Nam | 12-07-1989 | Đường số 3 34 | NULL | 12345 | rm@tstreet.com |
| 4 | Gloria Williams | Nữ | 14-02-1984 | Đường số 2 23 | NULL | NULL | NULL |
Truy vấn trên của chúng tôi đã trả về tất cả các hàng và cột từ bảng thành viên.
Giả sử chúng ta chỉ quan tâm đến việc lấy các trường full_names, gender, physical_address và email. Đoạn mã sau sẽ giúp chúng ta thực hiện điều này.
SELECT `full_names`,`gender`,`physical_address`, `email` FROM `members`;
Thực thi đoạn script trên trong MySQL workbench tạo ra các kết quả sau.
| tên đầy đủ | giới | địa chỉ vật lý | |
|---|---|---|---|
| Janet Jones | Nữ | Lô đất đường số 4 số XNUMX | janetjones@yagoo.cm |
| Janet Smith Jones | Nữ | Melrose 123 | jj@fstreet.com |
| Robert Phil | Nam | Đường số 3 34 | rm@tstreet.com |
| Gloria Williams | Nữ | Đường số 2 23 | NULL |
Lấy danh sách phim
Hãy nhớ trong phần thảo luận ở trên rằng chúng ta đã đề cập đến các biểu thức được sử dụng trong các câu lệnh SELECT. Giả sử chúng ta muốn lấy danh sách phim từ cơ sở dữ liệu của mình. Chúng ta muốn có tiêu đề phim và tên đạo diễn phim trong một trường. Tên đạo diễn phim phải nằm trong dấu ngoặc. Chúng ta cũng muốn lấy năm phát hành phim. Đoạn mã sau sẽ giúp chúng ta thực hiện điều đó.
SELECT Concat(`title`, ' (', `director`, ')') , `year_released` FROM `movies`;
tại ĐÂY
- Concat () MySQL hàm được sử dụng nối các giá trị cột lại với nhau.
- Dòng “Concat (`title`, ' (', `director`, ')') lấy tiêu đề, thêm dấu ngoặc mở theo sau là tên của đạo diễn rồi thêm dấu ngoặc đóng.
Các phần chuỗi được phân tách bằng dấu phẩy trong hàm Concat().
Thực thi đoạn script trên trong MySQL workbench tạo ra tập kết quả sau.
| Concat(`tiêu đề`, ' (', `đạo diễn`, ')') | năm_phát hành |
|---|---|
| Cướp biển vùng Caribe 4 (Rob Marshall) | 2011 |
| Lãng quên Sarah Marshal (Nicholas Stoller) | 2008 |
| NULL | 2008 |
| Tên mã Black (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey người lên mặt trăng (John Schultz) | 2005 |
| NULL | 2012 |
Tên trường bí danh
Ví dụ trên trả về mã Concatenation làm tên trường cho kết quả của chúng tôi. Giả sử chúng tôi muốn sử dụng tên trường mô tả hơn trong tập kết quả của mình. Chúng tôi sẽ sử dụng tên bí danh cột để đạt được điều đó. Sau đây là cú pháp cơ bản cho tên bí danh cột
SELECT `column_name|value|expression` [AS] `alias_name`;
tại ĐÂY
- “CHỌN `tên cột|giá trị|biểu thức `” 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.
- "[BẰNG]" là từ khóa tùy chọn trước tên bí danh biểu thị biểu thức, giá trị hoặc tên trường sẽ được trả về dưới dạng.
- “`bí danh_name`” là tên bí danh mà chúng tôi muốn trả về trong tập kết quả làm tên trường.
Truy vấn trên có tên cột có ý nghĩa hơn
SELECT Concat(`title`, ' (', `director`, ')') AS 'Concat', `year_released` FROM `movies`;
Chúng ta có được kết quả sau
| concat | năm_phát hành |
|---|---|
| Cướp biển vùng Caribe 4 (Rob Marshall) | 2011 |
| Lãng quên Sarah Marshal (Nicholas Stoller) | 2008 |
| NULL | 2008 |
| Tên mã Black (Edgar Jimz) | 2010 |
| NULL | 2007 |
| NULL | 2007 |
| NULL | 2007 |
| Honey người lên mặt trăng (John Schultz) | 2005 |
| NULL | 2012 |
Nhận danh sách thành viên hiển thị năm sinh
Giả sử chúng ta muốn có danh sách tất cả các thành viên hiển thị số thành viên, họ tên đầy đủ và năm sinh, chúng ta có thể sử dụng hàm chuỗi LEFT để trích xuất năm sinh từ trường ngày sinh. Đoạn mã dưới đây giúp chúng ta thực hiện điều đó.
SELECT `membership_number`,`full_names`,LEFT(`date_of_birth`,4) AS `year_of_birth` FROM members;
tại ĐÂY
- “TRÁI(`ngày_sinh`,4)” các Hàm chuỗi TRÁI chấp nhận ngày sinh làm tham số và chỉ trả về 4 ký tự từ bên trái.
- “NHƯ `năm_sinh`” là tên bí danh cột điều đó sẽ được trả về trong kết quả của chúng tôi. Lưu ý Từ khóa AS là tùy chọn, bạn có thể bỏ nó đi và truy vấn vẫn hoạt động.
Thực hiện truy vấn trên trong MySQL bàn làm việc đối với myflixdb cho chúng ta kết quả hiển thị bên dưới.
| số_thành_viên | tên đầy đủ | năm sinh |
|---|---|---|
| 1 | Janet Jones | 1980 |
| 2 | Janet Smith Jones | 1980 |
| 3 | Robert Phil | 1989 |
| 4 | Gloria Williams | 1984 |
sử dụng SQL MySQL Workbench
Bây giờ chúng ta sẽ sử dụng MySQL bàn làm việc để tạo tập lệnh hiển thị tất cả tên trường từ bảng danh mục của chúng tôi.
1. Nhấp chuột phải vào Bảng Danh mục. Bấm vào “Chọn Hàng – Giới hạn 1000”
2. MySQL bàn làm việc 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 SELECT. MySQL bàn làm việc đã tạo ra nó cho chúng tôi.
Tại sao lại sử dụng lệnh SELECT SQL khi chúng ta có MySQL Bàn làm việc?
Bây giờ, bạn có thể đang nghĩ tại sao phải học lệnh SQL SELECT để truy vấn dữ liệu từ cơ sở dữ liệu khi bạn có thể chỉ cần sử dụng một công cụ như MySQL bàn làm việc để có được kết quả tương tự mà không cần kiến thức 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 mang lại cho bạn nhiều hơn linh hoạt và điều khiển trên của bạn Câu lệnh CHỌN SQL.
MySQL bàn làm việc thuộc danh mục “Truy vấn bằng ví dụ” Công cụ QBE. Nó nhằm mục đích giúp tạo các câu lệnh SQL nhanh hơn để tăng năng suất của người dùng.
Học lệnh SQL SELECT có thể cho phép bạn tạo truy vấn phức tạp không thể tạo dễ dàng bằng cách sử dụng các tiện ích Truy vấn theo ví dụ như MySQL bàn làm việc.
Để nâng cao năng suất bạn có thể tạo mã bằng cách sử dụng MySQL bàn làm việc sau đó tùy chỉnh nó để đáp ứng yêu cầu của bạn. Điều này chỉ có thể xảy ra nếu bạn hiểu cách hoạt động của các câu lệnh SQL!
Tổng kết
- Từ khóa SQL SELECT được sử dụng để truy vấn dữ liệu từ cơ sở dữ liệu và đây là lệnh được sử dụng phổ biến nhất.
- Dạng đơn giản nhất có cú pháp “SELECT * FROM tableName;”
- Biểu thức cũng có thể được sử dụng trong câu lệnh chọn. Ví dụ “CHỌN số lượng + giá TỪ Bán hàng”
- 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 sau.
- MySQL bàn làm việc 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ổ.



