Use NULL in where clause : Copy Table « Table Index « SQL / MySQL






Use NULL in where clause

  
/*
mysql> Drop table Sale;

mysql> CREATE TABLE Sale
    -> (
    ->    ID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
    ->    Name VARCHAR(50) NOT NULL,
    ->    InStock SMALLINT UNSIGNED NOT NULL,
    ->    OnOrder SMALLINT UNSIGNED NOT NULL,
    ->    Reserved SMALLINT UNSIGNED NOT NULL,
    ->    Department ENUM('Classical', 'Popular') NOT NULL,
    ->    Category VARCHAR(20)
    -> );
Query OK, 0 rows affected (0.07 sec)

mysql> INSERT INTO Sale (Name,      InStock, OnOrder, Reserved, Department, Cate
gory)
    -> VALUES          ('Bloodshot', 11,      6,       1,        'Popular',  'Ro
ck'),
    ->                 ('Opera',     12,      5,       2,        'Classical','Op
era'),
    ->                 ('Jazz',      13,      4,       3,        'Popular',  'Ja
zz'),
    ->                 ('Music',     4,       3,       4,        'Classical','Da
nce'),
    ->                 ('Violin',    25,      2,       5,        'Classical', NU
LL),
    ->                 ('Toscana',   16,      1,       6,        'Classical', NU
LL),
    ->                 ('Blues',     7,       22,      7,        'Popular',   'B
lues'),
    ->                 ('Pure',      38,      5,       11,       'Popular',   NU
LL),
    ->                 ('Mud',       19,      11,      12,       'Popular',  'Co
untry'),
    ->                 ('Essence',   5,       23,      12,       'Popular', 'New
 Age'),
    ->                 ('Embrace',   21,      12,      14,       'Popular', 'New
 Age'),
    ->                 ('Satie',     42,      17,      15,       'Classical', NU
LL),
    ->                 ('Lake',      23,      47,      28,       'Classical', 'D
ance'),
    ->                 ('Favorites', 34,      15,      12,       'Classical', 'G
eneral'),
    ->                 ('Boheme',    25,      12,       5,       'Classical', 'O
pera'),
    ->                 ('Cantatas',  26,      13,      8,        'Classical', 'G
eneral'),
    ->                 ('Road',      27,      13,      17,       'Popular', 'Cou
ntry'),
    ->                 ('Paris',     18,      25,      10,       'Popular', 'Jaz
z'),
    ->                 ('Woman',     29,      4,        7,       'Popular', 'Blu
es'),
    ->                 ('Bach',      21,      13,      16,       'Classical', 'G
eneral'),
    ->                 ('Opera',     12,      32,      12,       'Classical', 'O
pera'),
    ->                 ('Soul',      13,      30,      14,       'Popular', NULL
),
    ->                 ('Stages',    44,      0,       8,        'Popular', 'Blu
es'),
    ->                 ('Bach',      15,      1,       8,        'Classical', 'G
eneral');
Query OK, 24 rows affected (0.00 sec)
Records: 24  Duplicates: 0  Warnings: 0

mysql> select * from Sale;
+----+-----------+---------+---------+----------+------------+----------+
| ID | Name      | InStock | OnOrder | Reserved | Department | Category |
+----+-----------+---------+---------+----------+------------+----------+
|  1 | Bloodshot |      11 |       6 |        1 | Popular    | Rock     |
|  2 | Opera     |      12 |       5 |        2 | Classical  | Opera    |
|  3 | Jazz      |      13 |       4 |        3 | Popular    | Jazz     |
|  4 | Music     |       4 |       3 |        4 | Classical  | Dance    |
|  5 | Violin    |      25 |       2 |        5 | Classical  | NULL     |
|  6 | Toscana   |      16 |       1 |        6 | Classical  | NULL     |
|  7 | Blues     |       7 |      22 |        7 | Popular    | Blues    |
|  8 | Pure      |      38 |       5 |       11 | Popular    | NULL     |
|  9 | Mud       |      19 |      11 |       12 | Popular    | Country  |
| 10 | Essence   |       5 |      23 |       12 | Popular    | New Age  |
| 11 | Embrace   |      21 |      12 |       14 | Popular    | New Age  |
| 12 | Satie     |      42 |      17 |       15 | Classical  | NULL     |
| 13 | Lake      |      23 |      47 |       28 | Classical  | Dance    |
| 14 | Favorites |      34 |      15 |       12 | Classical  | General  |
| 15 | Boheme    |      25 |      12 |        5 | Classical  | Opera    |
| 16 | Cantatas  |      26 |      13 |        8 | Classical  | General  |
| 17 | Road      |      27 |      13 |       17 | Popular    | Country  |
| 18 | Paris     |      18 |      25 |       10 | Popular    | Jazz     |
| 19 | Woman     |      29 |       4 |        7 | Popular    | Blues    |
| 20 | Bach      |      21 |      13 |       16 | Classical  | General  |
| 21 | Opera     |      12 |      32 |       12 | Classical  | Opera    |
| 22 | Soul      |      13 |      30 |       14 | Popular    | NULL     |
| 23 | Stages    |      44 |       0 |        8 | Popular    | Blues    |
| 24 | Bach      |      15 |       1 |        8 | Classical  | General  |
+----+-----------+---------+---------+----------+------------+----------+
24 rows in set (0.00 sec)

mysql> SELECT Name, Department, Category
    -> FROM Sale
    -> WHERE Category=NULL
    -> ORDER BY Name;
Empty set (0.00 sec)


*/

Drop table Sale;


CREATE TABLE Sale
(
   ID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Name VARCHAR(50) NOT NULL,
   InStock SMALLINT UNSIGNED NOT NULL,
   OnOrder SMALLINT UNSIGNED NOT NULL,
   Reserved SMALLINT UNSIGNED NOT NULL,
   Department ENUM('Classical', 'Popular') NOT NULL,
   Category VARCHAR(20)
);


INSERT INTO Sale (Name,      InStock, OnOrder, Reserved, Department, Category)
VALUES          ('Bloodshot', 11,      6,       1,        'Popular',  'Rock'),
                ('Opera',     12,      5,       2,        'Classical','Opera'),
                ('Jazz',      13,      4,       3,        'Popular',  'Jazz'),
                ('Music',     4,       3,       4,        'Classical','Dance'),
                ('Violin',    25,      2,       5,        'Classical', NULL),
                ('Toscana',   16,      1,       6,        'Classical', NULL),
                ('Blues',     7,       22,      7,        'Popular',   'Blues'),
                ('Pure',      38,      5,       11,       'Popular',   NULL),
                ('Mud',       19,      11,      12,       'Popular',  'Country'),
                ('Essence',   5,       23,      12,       'Popular', 'New Age'),
                ('Embrace',   21,      12,      14,       'Popular', 'New Age'),
                ('Satie',     42,      17,      15,       'Classical', NULL),
                ('Lake',      23,      47,      28,       'Classical', 'Dance'),
                ('Favorites', 34,      15,      12,       'Classical', 'General'),
                ('Boheme',    25,      12,       5,       'Classical', 'Opera'),
                ('Cantatas',  26,      13,      8,        'Classical', 'General'),
                ('Road',      27,      13,      17,       'Popular', 'Country'),
                ('Paris',     18,      25,      10,       'Popular', 'Jazz'),
                ('Woman',     29,      4,        7,       'Popular', 'Blues'),
                ('Bach',      21,      13,      16,       'Classical', 'General'),
                ('Opera',     12,      32,      12,       'Classical', 'Opera'),
                ('Soul',      13,      30,      14,       'Popular', NULL),
                ('Stages',    44,      0,       8,        'Popular', 'Blues'),
                ('Bach',      15,      1,       8,        'Classical', 'General');
  
select * from Sale;
  
  
SELECT Name, Department, Category
FROM Sale
WHERE Category=NULL
ORDER BY Name;



           
         
    
  








Related examples in the same category

1.Copy Table Demo
2.Copy Table with Condition
3.Copying a Table
4.Copy table with conditions
5.Only copy records
6.Using the INSERT Statement to Copy Data
7.Using the REPLACE Statement to Copy Data
8.Copy a table
9.Only copy certain columns
10.Copy one row of data
11.Copy data to temporary table
12.Creating New Tables with SELECT Results
13.Copying Only Selected Data from a Table
14.Copy table with calculation
15.Copying Data into a New Table
16.MySQL truncates the data during copying