Computer >> Máy Tính >  >> Lập trình >> MySQL

Làm cách nào để đạt được kết quả tương tự như sử dụng vòng lặp trong mệnh đề WHERE của MySQL để chỉ hiển thị các bản ghi ID thay thế?

Nhận kết quả tương tự bằng cách sử dụng MySQL IN (). Đầu tiên chúng ta hãy tạo một bảng -

 mysql> tạo bảng DemoTable (ClientId int, ClientName varchar (100), ClientAge int); Truy vấn OK, 0 hàng bị ảnh hưởng (0,70 giây) 

Chèn một số bản ghi vào bảng bằng lệnh chèn -

 mysql> chèn vào giá trị DemoTable (100, 'Chris', 34); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị DemoTable (101, 'Robert', 31); Truy vấn OK, 1 hàng bị ảnh hưởng (0,11 giây) mysql> chèn vào giá trị DemoTable (103, 'David', 33); Truy vấn OK, 1 hàng bị ảnh hưởng (0,20 giây) mysql> chèn vào giá trị DemoTable (104, 'Mike', 45); Truy vấn OK, 1 hàng bị ảnh hưởng (0,17 giây) mysql> chèn vào các giá trị DemoTable (105, 'Sam', 39); Truy vấn OK, 1 hàng bị ảnh hưởng (0,09 giây) 

Hiển thị tất cả các bản ghi từ bảng bằng câu lệnh select -

 mysql> select * từ DemoTable; 

Điều này sẽ tạo ra kết quả sau -

 + ---------- + ------------ + ----------- + | ClientId | ClientName | ClientAge | + ---------- + ------------ + ----------- + | 100 | Chris | 34 || 101 | Robert | 31 || 103 | David | 33 || 104 | Mike | 45 || 105 | Sam | 39 | + ---------- + ------------ + ----------- + 5 hàng trong bộ (0,00 giây) 

Sau đây là truy vấn để nhận các kết quả tương tự như một vòng lặp sử dụng MySQL IN () -

 mysql> chọn ClientId, ClientName, ClientAge từ DemoTablewhere ClientId IN (101,103,105); 

Điều này sẽ tạo ra kết quả sau -

 + ---------- + ------------ + ----------- + | ClientId | ClientName | ClientAge | + ---------- + ------------ + ----------- + | 101 | Robert | 31 || 103 | David | 33 || 105 | Sam | 39 | + ---------- + ------------ + ----------- + 3 hàng trong bộ (0,00 giây)