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

Bỏ qua các giá trị NULL từ các bảng riêng biệt trong một truy vấn MySQL và hiển thị số lượng bản ghi NOT NULL

Trước tiên, hãy để chúng tôi tạo -

mysql> create table DemoTable1
   -> (
   -> Id int
   -> );
Query OK, 0 rows affected (1.06 sec)

Chèn một số bản ghi vào bảng bằng cách sử dụng chèn -

mysql> insert into DemoTable1 values(1);
Query OK, 1 row affected (0.16 sec)
mysql> insert into DemoTable1 values(NULL);
Query OK, 1 row affected (0.15 sec)
mysql> insert into DemoTable1 values(2);
Query OK, 1 row affected (0.34 sec)
mysql> insert into DemoTable1 values(3);
Query OK, 1 row affected (0.13 sec)

Hiển thị tất cả các bản ghi từ bảng bằng select -

mysql> select * from DemoTable1;

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

+------+
| Id   |
+------+
|    1 |
| NULL |
|    2 |
|    3 |
+------+
4 rows in set (0.00 sec)

Sau đây là truy vấn để tạo thứ hai -

mysql> create table DemoTable2
   -> (
   -> Id int
   -> );
Query OK, 0 rows affected (0.65 sec)

Chèn một số bản ghi vào bảng bằng cách sử dụng chèn -

mysql> insert into DemoTable2 values(10);
Query OK, 1 row affected (0.22 sec)
mysql> insert into DemoTable2 values(NULL);
Query OK, 1 row affected (0.12 sec)
mysql> insert into DemoTable2 values(NULL);
Query OK, 1 row affected (0.08 sec)

Hiển thị tất cả các bản ghi từ bảng bằng select -

mysql> select * from DemoTable2;

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

+------+
| Id   |
+------+
|   10 |
| NULL |
| NULL |
+------+
3 rows in set (0.00 sec)

Đây là truy vấn để bỏ qua các giá trị NULL từ các bảng riêng biệt−

mysql> select
   -> (
   -> select count(Id) from DemoTable1) as CountFirstTableId,
   -> (
   -> select count(Id) from DemoTable2) as CountSecondTableId
   -> ;

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

+-------------------+--------------------+
| CountFirstTableId | CountSecondTableId |
+-------------------+--------------------+
|                 3 |                  1 |
+-------------------+--------------------+
1 row in set (0.00 sec)