Sử dụng MySQL CASE trong WHERE CLAUSE: Các điều kiện có điều kiện trong MySQL. Áp dụng các điều kiện bằng cách sử dụng Câu lệnh CASE trong MySQL. Tìm hiểu MySQL Case.

Bạn đang xem : mysql trường hợp trong mệnh đề where

Trước khi tiếp tục để biết cách sử dụng MySQL CASE trong mệnh đề where, hãy nhớ biết MySQL CASE là gì Là. Nếu không, hãy nhấp vào đây để đọc.

Đôi khi chúng tôi có yêu cầu cần áp dụng bất kỳ điều khoản nào tùy thuộc vào bất kỳ điều kiện nào. . Bất cứ khi nào tôi phải đối mặt với yêu cầu này, hầu hết thời gian vấn đề của tôi được giải quyết bằng cách sử dụng câu lệnh CASE trong mệnh đề WHERE. Sử dụng CASE trong mệnh đề where làm cho truy vấn phức tạp một chút nhưng nếu không có cách nào thì đó là lựa chọn tốt nhất cho tôi.

Hãy xem một tình huống mà nó có thể được chứng minh một cách dễ dàng.
Giả sử chúng ta đang truy vấn hai hoặc nhiều bảng (hiện chỉ lấy hai bảng) cho một số dữ liệu bằng cách sử dụng phép nối TRÁI hoặc phép nối bên phải. Trong trường hợp kết hợp Trái hoặc Phải nếu dữ liệu có trong bảng bên trái hoặc bên phải thì chỉ dữ liệu được trả về, nếu không thì trả về NULL.

NẾU bạn không quen với phép nối Trái và phải, hãy nhấp vào đây để đọc ..

Ở đây tôi lấy ví dụ về phép nối Trái. Trong trường hợp nếu chúng ta cần áp dụng mệnh đề where trên bất kỳ cột nào của bảng bên phải, nó sẽ luôn xem xét ràng buộc và nếu ràng buộc không được đáp ứng, các giá trị sẽ không được tìm nạp ngay cả khi có các giá trị trên bảng Bên trái.

Tạo bảng danh mục và chèn dữ liệu vào đó.

1

2

3

4

5

6

7

>

8

9

10

11

12

13

14

15

16

17

/ * Tạo bảng danh mục * /

TẠO

BẢNG

`

danh mục

`

(

`

cat_id

`

int

(

11

)

KHÔNG

KHÔNG ĐỦ

CHÍNH THỨC

KEY

AUTO_INCREMENT

,

`

cat_name

`

varchar

(

100

)

< p class = "crayon-st"> KHÔNG

KHÔNG ĐỦ

)

;

/ * Chèn dữ liệu danh mục * /

CHÈN

VÀO

`

danh mục

`

(

`

cat_id

`

< p class = "crayon-sy">,

`

cat_name

`

)

GIÁ TRỊ

(

1

,

‘Trái cây’

)

,

(

2

,

‘Đồ uống ‘

)

,

(

3

, < / p>

‘Ngũ cốc’

)

< p class = "crayon-sy">,

(

4

,

‘Dụng cụ nấu ăn’

)

,

(

5

,

‘Nội thất’

Xem Thêm  [ThaoVTP] Tìm hiểu về SQL và một số câu lệnh SQL cơ bản - patindex trong sql

)

,

(

6

, < / p>

‘Hàng may mặc’

)

< p class = "crayon-sy">;

/ * Hiển thị danh mục Dữ liệu * /

CHỌN *

TỪ

`

danh mục

`

;

Tạo bảng sản phẩm và chèn dữ liệu vào đó.

1

2

3

>

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

>

21

22

/ * Tạo Bảng sản phẩm điện tử * /

TẠO

BẢNG

`

sản phẩm

`

(

`

id

`

int

(

11

)

KHÔNG

KHÔNG ĐỦ

CHÍNH

KEY

AUTO_INCREMENT

,

`

product

`

varchar

(

100

)

KHÔNG

KHÔNG ĐỦ

,

`

danh mục

`

int

< p class = "crayon-sy"> (

11

)

KHÔNG

KHÔNG

,

`

mrp

`

int

(

11

)

KHÔNG

< / p>

NULL

,

`

hết hạn

`

ngày

KHÔNG

KHÔNG ĐỦ

, < / p>

`

in_stock

`

tinyint

(

4

< p class = "crayon-sy">)

KHÔNG

NUL L

DEFAULT

‘1’

) < / p>

;

/ * Chèn dữ liệu sản phẩm * /

CHÈN

VÀO

`

sản phẩm

`

(

`

id

`

,

`

product

`

,

`

thể loại

`

,

`

mrp

`

,

`

hết hạn sử dụng

`

,

`

in_stock

`

)

GIÁ TRỊ

(

1

,

‘Quả táo’

,

1

,

100

,

‘2019-05-09’ < / p>

,

1

)

,

(

2

,

‘Cheery’

,

1

,

85

,

‘2019-05-06’

,

1

)

,

(

3

,

‘Mojito Fresh’

,

2

,

120

,

‘2019-05-04’

,

1

)

,

(

4

,

‘Coke lon’

,

2

,

20

,

‘2019-05-07’

,

1

)

,

(

5

,

‘Yến mạch cuộn’

,

3

,

200

,

‘2020-05-03’

,

1

)

,

(

6

,

‘Bắp’

,

3

,

30

,

‘2020-05-03’

,

1

)

,

(

7

,

‘Lúa mạch’

,

3

,

40

,

‘2020-05-03’

,

1

)

;

/ * Hiển thị sản phẩm Dữ liệu * /

CHỌN *

TỪ

`

sản phẩm

`

;

Tạo một truy vấn tham gia đơn giản từ các danh mục và sản phẩm bảng, dữ liệu trả về thuộc tất cả các danh mục và sản phẩm nếu có trong bất kỳ danh mục nào, nếu không thì sẽ trống.

1

CHỌN *

TỪ

`

danh mục

`

TRÁI

THAM GIA

`

sản phẩm

`

BẬT

danh mục

=

cat_id

;

Bây giờ, nếu chúng tôi cần tìm nạp các sản phẩm (nếu có) có mrp lớn hơn 80 và liệt kê tất cả các danh mục bất kể sự hiện diện của sản phẩm trong đó. Đó là nếu không có sản phẩm trả lại NULL và nếu có danh sách sản phẩm chỉ có mrp lớn hơn 80. Hy vọng rằng tình hình rõ ràng.

< / p>

Bây giờ, hãy xem xét truy vấn giống như chúng ta đơn giản làm sau đó sử dụng chữ hoa và chữ thường với nó.

1

CHỌN *

TỪ

`

< p class = "crayon-i"> danh mục

`

TRÁI

THAM GIA

`

sản phẩm

`

BẬT

danh mục

=

cat_id

WHERE

1

mrp

& gt;

80

;

Sử dụng MySQL CASE trong Mệnh đề Where để tìm nạp dữ liệu bằng cách Tham gia bên trái.

Ở đây chúng ta có thể thấy, nếu có bất kỳ sản phẩm nào trong danh mục có mrp lớn hơn 80 thì chỉ dữ liệu danh mục được hiển thị. và chi tiết sản phẩm là NULL. Hiện đang sử dụng mệnh đề tương tự với CASE.

< / p>

1

CHỌN *

TỪ

`

danh mục

`

TRÁI

THAM GIA

`

sản phẩm

`

BẬT

danh mục

=

cat_id

WHERE

1

(

TRƯỜNG HỢP

KHI NÀO

mrp

KHÔNG

KHÔNG ĐỦ

< / p>

THÌ

mrp

& gt;

80

ELSE

< p class = "crayon-cn"> 1

HẾT

)

;

Bây giờ, bạn có thể thấy trong kết quả ở trên rằng danh sách trả về bao gồm các sản phẩm có mrp thỏa mãn điều kiện, Mặc dù không có hiệu lực đối với danh sách danh mục không có bất kỳ sản phẩm nào. Danh mục danh mục từ đó trở đi không phân biệt có sản phẩm trong danh mục đó hay không.


Xem thêm những thông tin liên quan đến chủ đề trường hợp mysql trong mệnh đề where

04 MySQL Tutorial for Beginners: USE, SELECT, result set, DISTINCT, ALL

  • Tác giả: golearnfast
  • Ngày đăng: 2015-11-02
  • Đánh giá: 4 ⭐ ( 4781 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: In this video you will begin to code your first “SQL statements” in MySQL Workbench.
    The very first thing you need to do is to choose and select a database.
    The “USE statement” is the one you’re going to need for this purpose, and it’s the very first statement you’re going to learn.

    The second statement you’re going to learn is the “SELECT statement” which is used to retrieve data from a base table.
    You code the SELECT keyword followed by a list of column names separated by commas and the FROM keyword followed by the name of the base table from which the query retrieves the data.

    A “result set” is a table of data resulted from a statement: you can think of it as a temporary table that’s created within a database.
    Note that when you execute a USE statement alone, you do not get any results back, because a USE statement itself does not expect to have any results back.
    In the SELECT clause, you can code an asterisk as a shorthand to indicate that all of the rows and columns should be retrieved.

    By default, all of the rows in the base table are included in the result set.
    In some cases, that means that the result set will contain duplicate rows, or rows whose column values are identical.
    If that’s not what you want, you can include the DISTINCT keyword in the SELECT clause to eliminate the duplicate rows.

    The DISTINCT keyword prevents duplicate rows from being included in the result set.
    The ALL keyword causes all rows matching the search condition to be included in the result set, regardless of whether rows are duplicated. The ALL keyword is the default and can therefore be omitted.

    EXERCISES for your SELF-TRAINING:
    http://golearnfast.com/Quizzes.php?_SelectSmallerGroup_279=0&Lessons_ID=279

    SCRIPT FOR THE EXAMPLES:
    http://www.golearnfast.com/files/lessons_material/lesson_277_1440544998.sql

    SUBSCRIBE!
    https://www.youtube.com/channel/UCMEaGDoHU7c9tWyafZ9vC6Q?sub_confirmation=1

    FACEBOOK
    https://www.facebook.com/golearnfast

    GOOGLE+
    https://plus.google.com/u/0/b/101326338689489366802/

Mệnh đề WHERE trong MySQL

  • Tác giả: hoclaptrinh.vn
  • Đánh giá: 4 ⭐ ( 6452 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Lọc kết quả từ bảng mysql. Sử dụng mệnh đề WHERE, chúng ta có thể xác định một tiêu chuẩn lựa chọn để chọn các bản ghi cần thiết từ một bảng.

Mệnh đề WHERE trong MySQL

  • Tác giả: comdy.vn
  • Đánh giá: 5 ⭐ ( 1886 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Trong hướng dẫn này, bạn sẽ học cách sử dụng mệnh đề WHERE trong câu lệnh SELECT trong MySQL để lọc các hàng từ tập kết quả.

Mệnh Đề WHERE Trong SQL

  • Tác giả: www.codehub.com.vn
  • Đánh giá: 4 ⭐ ( 8476 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mệnh Đề WHERE Trong SQL Để Làm Gì?
    ———————–
    – Mệnh đề **WHERE** được sử dụng để lọc các bản ghi.

    – Mệnh đề **WHERE** được sử dụng để trích xuất chỉ những bản ghi đáp ứng điều kiện được chỉ định.

    Cú Pháp Mệnh Đề WHERE
    ———-…

Mệnh đề WHERE trong MySQL

  • Tác giả: pluginthanhtoan.com
  • Đánh giá: 4 ⭐ ( 9749 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: botvietbai.com cung cấp các hướng dẫn, tài liệu tham khảo và bài tập trực tuyến miễn phí bằng tất cả các ngôn ngữ chính của web. Bao gồm các chủ đề phổ biến như HTML, CSS, JavaScript, Python, SQL, Java, và nhiều hơn nữa.

Mệnh đề WHERE trong MySQL

  • Tác giả: viettuts.vn
  • Đánh giá: 4 ⭐ ( 1720 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Mệnh đề WHERE trong MySQL được sử dụng để chỉ định một điều kiện trong khi lấy dữ liệu từ một bảng hoặc bằng cách join với nhiều bảng.

Hướng dẫn cách dùng mệnh đề WHERE trong MySQL và các toán tử AND, OR, IN, NOT IN

  • Tác giả: gitiho.com
  • Đánh giá: 4 ⭐ ( 2505 lượt đánh giá )
  • Khớp với kết quả tìm kiếm: Câu lệnh SELECT trả về tất cả các kết quả từ bảng cơ sở dữ liệu được truy vấn. Nhưng đôi lúc chúng ta muốn hạn chế kết quả truy vấn trong điều kiện cụ thể

Xem thêm các bài viết khác thuộc chuyên mục: Kiến thức lập trình

By ads_php