Mysql nhiều điều kiện trên cùng một cột

Điều kiện tìm kiếm mà bạn chỉ định có thể chứa bất kỳ toán tử so sánh hoặc vị từ BETWEEN, DISTINCT, IN, LIKE, EXISTS, IS NULL và IS NOT NULL

Bạn có thể kết hợp hai vị từ bất kỳ với AND và OR. Ngoài ra, bạn có thể sử dụng từ khóa NOT để xác định rằng điều kiện tìm kiếm mà bạn muốn là giá trị phủ định của điều kiện tìm kiếm đã chỉ định. Mệnh đề WHERE có thể có bao nhiêu vị ngữ tùy thích

  • VÀ nói rằng, để một hàng đủ điều kiện, hàng đó phải đáp ứng cả hai vị từ của điều kiện tìm kiếm. Ví dụ, để biết nhân viên nào trong bộ phận D21 được tuyển dụng sau ngày 31 tháng 12 năm 1987, hãy chỉ định.
    ...
      WHERE WORKDEPT = 'D21' AND HIREDATE > '1987-12-31'
  • OR nói rằng, để một hàng đủ điều kiện, hàng đó có thể đáp ứng điều kiện được đặt bởi một trong hai hoặc cả hai vị từ của điều kiện tìm kiếm. Ví dụ: để tìm ra nhân viên nào ở bộ phận C01 hoặc D11, bạn có thể chỉ định.
    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'

    Ghi chú. Bạn cũng có thể sử dụng IN để chỉ định yêu cầu này. LÀM VIỆC Ở ĐÂU (

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    7C01
    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    7,
    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    7D11
    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    7).

  • NOT nói rằng, để đủ điều kiện, một hàng không được đáp ứng các tiêu chí do điều kiện tìm kiếm hoặc vị từ theo sau NOT đặt ra. Ví dụ: để tìm tất cả nhân viên trong bộ phận E11 ngoại trừ những người có mã công việc bằng nhân viên phân tích, bạn có thể chỉ định.
    ...
      WHERE WORKDEPT = 'E11' AND NOT JOB = 'ANALYST'

Khi SQL đánh giá các điều kiện tìm kiếm có chứa các trình kết nối này, nó sẽ thực hiện theo một thứ tự cụ thể. Đầu tiên, SQL đánh giá các mệnh đề NOT, tiếp theo đánh giá các mệnh đề AND, sau đó là các mệnh đề OR

Bạn có thể thay đổi thứ tự đánh giá bằng cách sử dụng dấu ngoặc đơn. Các điều kiện tìm kiếm trong ngoặc đơn được đánh giá đầu tiên. Ví dụ: để chọn tất cả nhân viên thuộc phòng E11 và E21 có trình độ học vấn lớn hơn 12, bạn có thể chỉ định

...
  WHERE EDLEVEL > 12 AND
     (WORKDEPT = 'E11' OR WORKDEPT = 'E21')

Dấu ngoặc đơn xác định ý nghĩa của điều kiện tìm kiếm. Trong ví dụ này, bạn muốn tất cả các hàng có một

  • giá trị WORKDEPT của E11 hoặc E21, và
  • Giá trị EDLEVEL lớn hơn 12

Nếu bạn không sử dụng dấu ngoặc đơn

...
  WHERE EDLEVEL > 12 AND WORKDEPT = 'E11'
    OR WORKDEPT = 'E21'

Kết quả của bạn là khác nhau. Các hàng được chọn là các hàng có

  • WORKDEPT = E11 và EDLEVEL > 12 hoặc
  • WORKDEPT = E21, bất kể giá trị EDLEVEL là gì

Nếu bạn đang kết hợp nhiều phép so sánh bằng nhau, bạn có thể viết vị từ bằng AND như trong ví dụ sau

...
  WHERE WORKDEPT = 'E11' AND EDLEVEL = 12 AND JOB = 'CLERK'

Bạn cũng có thể so sánh hai danh sách, ví dụ

...
  WHERE (WORKDEPT, EDLEVEL, JOB) = ('E11', 12, 'CLERK')

Khi hai danh sách được sử dụng, mục đầu tiên trong danh sách đầu tiên được so sánh với mục đầu tiên trong danh sách thứ hai, v.v. Vì vậy, mỗi danh sách phải chứa cùng một số mục. Sử dụng danh sách giống như viết truy vấn bằng AND. Danh sách chỉ có thể được sử dụng với các toán tử so sánh bằng và không bằng

Truy vấn SQL để so khớp nhiều giá trị trong cùng một cột

Cải thiện bài viết

Lưu bài viết

Thích bài viết

  • Độ khó. Chuyên gia
  • Cập nhật lần cuối. 29 tháng 10 năm 2021

  • Đọc
  • Bàn luận
  • khóa học
  • Luyện tập
  • Băng hình
  • Cải thiện bài viết

    Lưu bài viết

    Trong SQL, để so khớp nhiều giá trị trong cùng một cột, chúng ta cần sử dụng một số từ đặc biệt trong truy vấn của mình. Dưới đây, 3 phương pháp được trình bày để đạt được điều này bằng cách sử dụng IN, LIKE và toán tử so sánh (>=). Đối với bài viết này, chúng tôi sẽ sử dụng Microsoft SQL Server làm cơ sở dữ liệu của chúng tôi

    Bước 1. Tạo cơ sở dữ liệu. Đối với điều này, hãy sử dụng lệnh dưới đây để tạo cơ sở dữ liệu có tên GeekForGeek

    Truy vấn

    CREATE DATABASE GeeksForGeeks

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 2. Sử dụng cơ sở dữ liệu GeekForGeek. Đối với điều này sử dụng lệnh dưới đây

    Truy vấn

    ________số 8

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 3. Tạo một bảng CARS bên trong cơ sở dữ liệu GeekForGeeks. Bảng này có 3 cột là CAR_NAME, COMPANY và COST chứa tên, hãng và giá của các loại xe

    Truy vấn

    CREATE TABLE CARS(
    CAR_NAME VARCHAR(10),
    COMPANY VARCHAR(10),
    COST INT);

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 4. Mô tả cấu trúc của bảng CARS

    Truy vấn

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    0

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 5. Chèn 5 hàng vào bảng CARS

    Truy vấn

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    1

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 6. Hiển thị tất cả các hàng của bảng CARS

    Truy vấn

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    2

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 7. Truy xuất thông tin chi tiết của tất cả các xe ô tô thuộc các công ty TOYOTA và HONDA

    Lưu ý – Sử dụng IN để so khớp nhiều giá trị i. e. TOYOTA và HONDA trong cùng một cột tôi. e. CÔNG TY

    cú pháp

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    3

    Truy vấn

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    4

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 8. Lấy thông tin chi tiết của tất cả những chiếc xe có tên bắt đầu bằng chữ C

    Lưu ý – Sử dụng LIKE để so khớp nhiều giá trị i. e. CAMRY và CIAZ cùng cột i. e. CAR_NAME

    cú pháp

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    5

    Truy vấn

    ...
      WHERE WORKDEPT = 'C01' OR WORKDEPT = 'D11'
    6

    đầu ra

    Mysql nhiều điều kiện trên cùng một cột

    Bước 9. Truy xuất thông tin chi tiết của tất cả những chiếc xe có giá lớn hơn hoặc bằng 30000

    Lưu ý – Sử dụng toán tử so sánh >= để so khớp nhiều giá trị i. e. 30000, 50000 và 100000 trong cùng một cột i. e. GIÁ CẢ

    Cách sử dụng 2 điều kiện trong mệnh đề WHERE trong SQL?

    Ví dụ - Hai Điều kiện trong Mệnh đề WHERE (VÀ Điều kiện) . use the AND condition in the WHERE clause to specify more than 1 condition that must be met for the record to be selected.

    Làm cách nào để nhận nhiều giá trị trong một cột trong SQL?

    Lưu ý – Sử dụng IN để khớp nhiều giá trị i. e. TOYOTA và HONDA trong cùng một cột tôi. e. CÔNG TY. cú pháp. CHỌN * TỪ TABLE_NAME Ở ĐÂU COLUMN_NAME TRONG (MATCHING_VALUE1,MATCHING_VALUE2);

    Làm cách nào để thêm nhiều điều kiện trong mệnh đề WHERE trong MySQL?

    Bạn có thể sử dụng một hoặc nhiều bảng được phân tách bằng dấu phẩy để bao gồm các điều kiện khác nhau bằng cách sử dụng mệnh đề WHERE, nhưng mệnh đề WHERE là một phần tùy chọn của lệnh SELECT. Bạn có thể chỉ định bất kỳ điều kiện nào bằng mệnh đề WHERE. Bạn có thể chỉ định nhiều hơn một điều kiện bằng cách sử dụng toán tử AND hoặc OR .

    Chúng ta có thể đưa ra hai điều kiện trong mệnh đề HAVING không?

    Mệnh đề HAVING có thể bao gồm một hoặc nhiều điều kiện . Điều kiện HAVING chỉ có thể bao gồm các cột được sử dụng với mệnh đề GROUP BY. Để sử dụng các cột khác trong điều kiện HAVING, hãy sử dụng các hàm tổng hợp với chúng.