Do Calculation in Where and order : Where « Where Clause « SQL / MySQL

SQL / MySQL
1. Backup Load
2. Command MySQL
3. Cursor
4. Data Type
5. Database
6. Date Time
7. Flow Control
8. Function
9. Insert Delete Update
10. Join
11. Key
12. Math
13. Procedure Function
14. Select Clause
15. String
16. Table Index
17. Transaction
18. Trigger
19. User Permission
20. View
21. Where Clause
Java
Java Tutorial
Java Source Code / Java Documentation
Java Open Source
Jar File Download
Java Articles
Java Products
Java by API
Photoshop Tutorials
Maya Tutorials
Flash Tutorials
3ds-Max Tutorials
Illustrator Tutorials
GIMP Tutorials
C# / C Sharp
C# / CSharp Tutorial
C# / CSharp Open Source
ASP.Net
ASP.NET Tutorial
JavaScript DHTML
JavaScript Tutorial
JavaScript Reference
HTML / CSS
HTML CSS Reference
C / ANSI-C
C Tutorial
C++
C++ Tutorial
Ruby
PHP
Python
Python Tutorial
Python Open Source
SQL Server / T-SQL
SQL Server / T-SQL Tutorial
Oracle PL / SQL
Oracle PL/SQL Tutorial
PostgreSQL
MySQL Tutorial
VB.Net
VB.Net Tutorial
Flash / Flex / ActionScript
VBA / Excel / Access / Word
XML
XML Tutorial
Microsoft Office PowerPoint 2007 Tutorial
Microsoft Office Excel 2007 Tutorial
Microsoft Office Word 2007 Tutorial
SQL / MySQL » Where Clause » Where 
Do Calculation in Where and order

/*
mysql> Drop table Sale;
Query OK, 0 rows affected (0.00 sec)

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.04 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, InStock, OnOrder, Reserved
    -> FROM Sale
    -> WHERE (InStock+OnOrder-Reserved)>20
    -> ORDER BY Name;
+-----------+---------+---------+----------+
| Name      | InStock | OnOrder | Reserved |
+-----------+---------+---------+----------+
| Blues     |       7 |      22 |        7 |
| Boheme    |      25 |      12 |        5 |
| Cantatas  |      26 |      13 |        8 |
| Favorites |      34 |      15 |       12 |
| Lake      |      23 |      47 |       28 |
| Opera     |      12 |      32 |       12 |
| Paris     |      18 |      25 |       10 |
| Pure      |      38 |       5 |       11 |
| Road      |      27 |      13 |       17 |
| Satie     |      42 |      17 |       15 |
| Soul      |      13 |      30 |       14 |
| Stages    |      44 |       0 |        8 |
| Violin    |      25 |       2 |        5 |
| Woman     |      29 |       4 |        7 |
+-----------+---------+---------+----------+
14 rows in set (0.01 sec)


*/

Drop table Sale;


CREATE TABLE Sale
(
   ID SMALLINT NOT NULL AUTO_INCREMENT PRIMARY KEY,
   Name VARCHAR(50NOT 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, InStock, OnOrder, Reserved
FROM Sale
WHERE (InStock+OnOrder-Reserved)>20
ORDER BY Name;

           
       
Related examples in the same category
1. Not equal in where
2. Getting the List of Products That Are on Catalog Promotion
3. Using Where Conditions
4. WHERE Clause Comparisons
5. Combining WHERE Conditions
6. Calculation in WHERE clause
7. Compare and calculate in Where clause
8. Where clause: nested conditions
9. Where clause: calculation and equal condition
10. Where clause: compare
11. Where clause: XOR
12. Use where clause the narrow down results
www.java2java.com | Contact Us
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.