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

Làm thế nào để chọn các hàng với điều kiện thông qua nối trong MySQL?


Đối với điều này, bạn có thể sử dụng CONCAT_WS (). Hãy để chúng tôi tạo một bảng -

mysql> create table demo38
−> (
−> user_id int,
−> user_first_name varchar(20),
−> user_last_name varchar(20),
−> user_date_of_birth date
−> );
Query OK, 0 rows affected (1.70 sec)

Chèn một số bản ghi vào bảng với sự trợ giúp của lệnh insert -

mysql> insert into demo38 values(10,'John','Smith','1990−10−01');
Query OK, 1 row affected (0.14 sec)

mysql> insert into demo38 values(11,'David','Miller','1994−01−21');
Query OK, 1 row affected (0.13 sec)

mysql> insert into demo38 values(11,'John','Doe','1992−02−01');
Query OK, 1 row affected (0.13 sec)

mysql> insert into demo38 values(12,'Adam','Smith','1996−11−11');
Query OK, 1 row affected (0.11 sec)

mysql> insert into demo38 values(13,'Chris','Brown','1997−03−10');
Query OK, 1 row affected (0.13 sec)

Hiển thị các bản ghi từ bảng bằng cách sử dụng câu lệnh select -

mysql> select *from demo38;

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

+---------+-----------------+----------------+--------------------+
| user_id | user_first_name | user_last_name | user_date_of_birth |
+---------+-----------------+----------------+--------------------+
| 10      | John            | Smith          | 1990−10−01         |
| 11      | David           | Miller         | 1994−01−21         |
| 11      | John            | Doe            | 1992−02−01         |
| 12      | Adam            | Smith          | 1996−11−11         |
| 13      | Chris           | Brown          | 1997−03−10         |
+---------+-----------------+----------------+--------------------+
5 rows in set (0.00 sec)

Sau đây là truy vấn để chọn các hàng với điều kiện -

mysql> select concat_ws('/',user_first_name, user_last_name,'the date of birth year is=', date_format(user_date_of_birth,'%Y')) as Output
−> from demo38
−> where user_id in(11,13);

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

+----------------------------------------------+
| Output                                       |
+----------------------------------------------+
| David/Miller/the date of birth year is=/1994 |
| John/Doe/the date of birth year is=/1992     |
| Chris/Brown/the date of birth year is=/1997  |
+----------------------------------------------+
3 rows in set (0.00 sec)