CASE expressions allow SQL users to implement conditional logic similar to the ubiquitous IF…THEN…ELSE form found in other programming languages such as python, java, and c+ among others. SQL’s CASE expressions come in two forms, simple and searched. The focus of this page is to explore each of these forms through real-world problems.
Before reading further, consider reviewing the Example Data section below to familiarize yourself with the data being used throughout the examples on this page. If you are already familiar with the data, then skip to the Simple CASE Expressions section
Example Data
The schemas, corresponding tables, and data used in the example problems can be found at livesql.oracle.com. To more easily follow the examples covered on this page, consider first reading the table descriptions below and reviewing each table’s contents. To review the data maintained in each table, click on the icon next to the table name. To hide the data, click the icon again.
oe.customers
Contains information related to each customer. A customer may or may not have placed an order. Therefore, it’s possible for a customer to exist and not be represented in the orders table. There is one row per customer.
| customer_id | cust_first_name | cust_last_name | nls_territory | credit_limit | cust_email | account_mgr_id | date_of_birth | marital_status | gender | income_level |
|---|---|---|---|---|---|---|---|---|---|---|
| 144 | Sivaji | Landis | AMERICA | 500 | Sivaji.Landis@GOLDENEYE.EXAMPLE.COM | 145 | 9-Feb-70 | married | M | F: 110,000 – 129,999 |
| 145 | Mammutti | Pacino | AMERICA | 500 | Mammutti.Pacino@GREBE.EXAMPLE.COM | 145 | 19-Feb-46 | single | M | F: 110,000 – 129,999 |
| 146 | Elia | Fawcett | AMERICA | 500 | Elia.Fawcett@JACANA.EXAMPLE.COM | 145 | 12-Mar-63 | married | F | L: 300,000 and above |
| 147 | Ishwarya | Roberts | AMERICA | 600 | Ishwarya.Roberts@LAPWING.EXAMPLE.COM | 145 | 21-Mar-44 | single | F | G: 130,000 – 149,999 |
| 148 | Gustav | Steenburgen | AMERICA | 600 | Gustav.Steenburgen@PINTAIL.EXAMPLE.COM | 145 | 10-Apr-50 | married | M | F: 110,000 – 129,999 |
| 149 | Markus | Rampling | AMERICA | 600 | Markus.Rampling@PUFFIN.EXAMPLE.COM | 145 | 20-Apr-41 | single | M | D: 70,000 – 89,999 |
| 150 | Goldie | Slater | AMERICA | 700 | Goldie.Slater@PYRRHULOXIA.EXAMPLE.COM | 145 | 11-May-51 | married | M | D: 70,000 – 89,999 |
| 151 | Divine | Aykroyd | AMERICA | 700 | Divine.Aykroyd@REDSTART.EXAMPLE.COM | 145 | 20-May-76 | single | M | F: 110,000 – 129,999 |
| 152 | Dieter | Matthau | AMERICA | 700 | Dieter.Matthau@VERDIN.EXAMPLE.COM | 145 | 9-Jun-22 | married | M | A: Below 30,000 |
| 153 | Divine | Sheen | AMERICA | 700 | Divine.Sheen@COWBIRD.EXAMPLE.COM | 145 | 20-Jun-67 | single | M | I: 170,000 – 189,999 |
| 154 | Frederic | Grodin | AMERICA | 700 | Frederic.Grodin@CREEPER.EXAMPLE.COM | 145 | 29-Jun-65 | single | F | L: 300,000 and above |
| 155 | Frederico | Romero | AMERICA | 700 | Frederico.Romero@CURLEW.EXAMPLE.COM | 145 | 9-Jul-42 | married | M | E: 90,000 – 109,999 |
| 156 | Goldie | Montand | AMERICA | 700 | Goldie.Montand@DIPPER.EXAMPLE.COM | 145 | 9-Aug-55 | married | F | F: 110,000 – 129,999 |
| 157 | Sidney | Capshaw | AMERICA | 700 | Sidney.Capshaw@DUNLIN.EXAMPLE.COM | 145 | 18-Aug-69 | single | M | G: 130,000 – 149,999 |
| 158 | Frederico | Lyon | AMERICA | 700 | Frederico.Lyon@FLICKER.EXAMPLE.COM | 145 | 7-Sep-70 | married | M | J: 190,000 – 249,999 |
| 159 | Eddie | Boyer | AMERICA | 700 | Eddie.Boyer@GALLINULE.EXAMPLE.COM | 145 | 7-Oct-53 | married | M | G: 130,000 – 149,999 |
| 160 | Eddie | Stern | AMERICA | 700 | Eddie.Stern@GODWIT.EXAMPLE.COM | 145 | 6-Nov-50 | married | M | G: 130,000 – 149,999 |
| 161 | Ernest | Weaver | AMERICA | 900 | Ernest.Weaver@GROSBEAK.EXAMPLE.COM | 145 | 16-Nov-42 | single | M | B: 30,000 – 49,999 |
| 162 | Ernest | George | AMERICA | 900 | Ernest.George@LAPWING.EXAMPLE.COM | 145 | 7-Dec-75 | married | M | D: 70,000 – 89,999 |
| 164 | Charlotte | Kazan | AMERICA | 1200 | Charlotte.Kazan@MERGANSER.EXAMPLE.COM | 145 | 5-Jan-54 | married | M | I: 170,000 – 189,999 |
| 165 | Charlotte | Fonda | AMERICA | 1200 | Charlotte.Fonda@MOORHEN.EXAMPLE.COM | 145 | 5-Feb-56 | married | M | J: 190,000 – 249,999 |
| 166 | Dheeraj | Alexander | AMERICA | 1200 | Dheeraj.Alexander@NUTHATCH.EXAMPLE.COM | 145 | 14-Feb-50 | single | F | G: 130,000 – 149,999 |
| 167 | Gerard | Hershey | AMERICA | 1200 | Gerard.Hershey@PARULA.EXAMPLE.COM | 145 | 6-Mar-48 | married | M | D: 70,000 – 89,999 |
| 169 | Dheeraj | Davis | AMERICA | 1200 | Dheeraj.Davis@PIPIT.EXAMPLE.COM | 145 | 5-Apr-81 | married | F | F: 110,000 – 129,999 |
| 170 | Harry Dean | Fonda | AMERICA | 1200 | HarryDean.Fonda@PLOVER.EXAMPLE.COM | 145 | 15-Apr-88 | single | M | G: 130,000 – 149,999 |
| 171 | Hema | Powell | AMERICA | 1200 | Hema.Powell@SANDERLING.EXAMPLE.COM | 145 | 5-May-53 | married | M | D: 70,000 – 89,999 |
| 172 | Harry Mean | Peckinpah | AMERICA | 1200 | HarryMean.Peckinpah@VERDIN.EXAMPLE.COM | 145 | 15-May-59 | single | M | I: 170,000 – 189,999 |
| 174 | Blake | Seignier | AMERICA | 1200 | Blake.Seignier@GALLINULE.EXAMPLE.COM | 149 | 14-Jun-88 | single | M | H: 150,000 – 169,999 |
| 175 | Claude | Powell | AMERICA | 1200 | Claude.Powell@GODWIT.EXAMPLE.COM | 149 | 4-Jul-46 | married | M | F: 110,000 – 129,999 |
| 176 | Faye | Glenn | AMERICA | 1200 | Faye.Glenn@GREBE.EXAMPLE.COM | 149 | 14-Jul-47 | single | F | B: 30,000 – 49,999 |
| 177 | Gerhard | Seignier | AMERICA | 1200 | Gerhard.Seignier@JACANA.EXAMPLE.COM | 149 | 3-Aug-78 | married | M | E: 90,000 – 109,999 |
| 179 | Harry dean | Forrest | AMERICA | 1200 | Harrydean.Forrest@KISKADEE.EXAMPLE.COM | 149 | 12-Sep-74 | single | M | G: 130,000 – 149,999 |
| 180 | Harry dean | Cage | AMERICA | 1200 | Harrydean.Cage@LAPWING.EXAMPLE.COM | 149 | 2-Oct-75 | married | F | F: 110,000 – 129,999 |
| 181 | Lauren | Hershey | AMERICA | 1200 | Lauren.Hershey@LIMPKIN.EXAMPLE.COM | 149 | 12-Oct-65 | single | F | H: 150,000 – 169,999 |
| 183 | Lauren | Altman | AMERICA | 1200 | Lauren.Altman@MERGANSER.EXAMPLE.COM | 149 | 1-Nov-68 | married | F | C: 50,000 – 69,999 |
| 184 | Mary Beth | Roberts | AMERICA | 1200 | MaryBeth.Roberts@NUTHATCH.EXAMPLE.COM | 149 | 11-Nov-27 | single | M | A: Below 30,000 |
| 262 | Fred | Reynolds | AMERICA | 3600 | Fred.Reynolds@WATERTHRUSH.EXAMPLE.COM | 149 | 13-Jul-58 | married | M | F: 110,000 – 129,999 |
| 263 | Fred | Lithgow | AMERICA | 3600 | Fred.Lithgow@WHIMBREL.EXAMPLE.COM | 149 | 23-Jul-79 | single | M | D: 70,000 – 89,999 |
| 265 | Irene | Laughton | AMERICA | 3600 | Irene.Laughton@ANHINGA.EXAMPLE.COM | 149 | 22-Aug-73 | single | F | J: 190,000 – 249,999 |
| 266 | Prem | Cardinale | AMERICA | 3700 | Prem.Cardinale@BITTERN.EXAMPLE.COM | 149 | 1-Sep-70 | single | M | L: 300,000 and above |
| 267 | Prem | Walken | AMERICA | 3700 | Prem.Walken@BRANT.EXAMPLE.COM | 145 | 11-Sep-53 | married | F | G: 130,000 – 149,999 |
| 268 | Kyle | Schneider | AMERICA | 3700 | Kyle.Schneider@DUNLIN.EXAMPLE.COM | 145 | 21-Sep-52 | single | F | G: 130,000 – 149,999 |
| 270 | Meg | Derek | AMERICA | 3700 | Meg.Derek@FLICKER.EXAMPLE.COM | 145 | 10-Nov-71 | married | M | F: 110,000 – 129,999 |
| 271 | Shelley | Peckinpah | AMERICA | 3700 | Shelley.Peckinpah@GODWIT.EXAMPLE.COM | 145 | 20-Nov-87 | single | F | D: 70,000 – 89,999 |
| 272 | Prem | Garcia | AMERICA | 3700 | Prem.Garcia@JACANA.EXAMPLE.COM | 145 | 10-Dec-60 | married | M | I: 170,000 – 189,999 |
| 274 | Bob | McCarthy | AMERICA | 5000 | Bob.McCarthy@ANI.EXAMPLE.COM | 149 | 19-Jan-46 | single | M | A: Below 30,000 |
| 275 | Dom | McQueen | AMERICA | 5000 | Dom.McQueen@AUKLET.EXAMPLE.COM | 149 | 8-Feb-84 | married | F | G: 130,000 – 149,999 |
| 276 | Dom | Hoskins | AMERICA | 5000 | Dom.Hoskins@AVOCET.EXAMPLE.COM | 149 | 10-Mar-51 | married | M | E: 90,000 – 109,999 |
| 101 | Constantin | Welles | AMERICA | 100 | Constantin.Welles@ANHINGA.EXAMPLE.COM | 145 | 20-Feb-72 | married | M | B: 30,000 – 49,999 |
| 102 | Harrison | Pacino | AMERICA | 100 | Harrison.Pacino@ANI.EXAMPLE.COM | 145 | 2-Mar-53 | single | M | I: 170,000 – 189,999 |
| 103 | Manisha | Taylor | AMERICA | 100 | Manisha.Taylor@AUKLET.EXAMPLE.COM | 145 | 22-Mar-83 | married | F | H: 150,000 – 169,999 |
| 104 | Harrison | Sutherland | AMERICA | 100 | Harrison.Sutherland@GODWIT.EXAMPLE.COM | 145 | 31-Mar-72 | single | F | H: 150,000 – 169,999 |
| 105 | Matthias | MacGraw | AMERICA | 100 | Matthias.MacGraw@GOLDENEYE.EXAMPLE.COM | 145 | 21-Apr-69 | married | F | C: 50,000 – 69,999 |
| 106 | Matthias | Hannah | AMERICA | 100 | Matthias.Hannah@GREBE.EXAMPLE.COM | 145 | 30-Apr-60 | single | M | F: 110,000 – 129,999 |
| 107 | Matthias | Cruise | AMERICA | 100 | Matthias.Cruise@GROSBEAK.EXAMPLE.COM | 145 | 21-May-69 | married | F | G: 130,000 – 149,999 |
| 108 | Meenakshi | Mason | AMERICA | 100 | Meenakshi.Mason@JACANA.EXAMPLE.COM | 145 | 20-Jun-57 | married | M | H: 150,000 – 169,999 |
| 109 | Christian | Cage | AMERICA | 100 | Christian.Cage@KINGLET.EXAMPLE.COM | 145 | 30-Jun-38 | single | M | F: 110,000 – 129,999 |
| 110 | Charlie | Sutherland | AMERICA | 200 | Charlie.Sutherland@LIMPKIN.EXAMPLE.COM | 145 | 20-Jul-51 | married | M | G: 130,000 – 149,999 |
| 111 | Charlie | Pacino | AMERICA | 200 | Charlie.Pacino@LONGSPUR.EXAMPLE.COM | 145 | 29-Jul-48 | single | M | G: 130,000 – 149,999 |
| 112 | Guillaume | Jackson | AMERICA | 200 | Guillaume.Jackson@MOORHEN.EXAMPLE.COM | 145 | 19-Aug-54 | married | M | I: 170,000 – 189,999 |
| 113 | Daniel | Costner | AMERICA | 200 | Daniel.Costner@PARULA.EXAMPLE.COM | 145 | 29-Aug-77 | single | M | I: 170,000 – 189,999 |
| 114 | Dianne | Derek | AMERICA | 200 | Dianne.Derek@SAW-WHET.EXAMPLE.COM | 145 | 17-Sep-48 | married | M | H: 150,000 – 169,999 |
| 115 | Geraldine | Schneider | AMERICA | 200 | Geraldine.Schneider@SCAUP.EXAMPLE.COM | 145 | 18-Oct-31 | married | M | B: 30,000 – 49,999 |
| 116 | Geraldine | Martin | AMERICA | 200 | Geraldine.Martin@SCOTER.EXAMPLE.COM | 145 | 28-Oct-27 | single | M | A: Below 30,000 |
| 117 | Guillaume | Edwards | AMERICA | 200 | Guillaume.Edwards@SHRIKE.EXAMPLE.COM | 145 | 16-Nov-52 | married | M | E: 90,000 – 109,999 |
| 118 | Maurice | Mahoney | AMERICA | 200 | Maurice.Mahoney@SNIPE.EXAMPLE.COM | 145 | 27-Nov-66 | single | M | F: 110,000 – 129,999 |
| 119 | Maurice | Hasan | AMERICA | 200 | Maurice.Hasan@STILT.EXAMPLE.COM | 145 | 17-Dec-65 | married | M | G: 130,000 – 149,999 |
| 120 | Diane | Higgins | AMERICA | 200 | Diane.Higgins@TANAGER.EXAMPLE.COM | 145 | 26-Dec-84 | single | M | H: 150,000 – 169,999 |
| 121 | Dianne | Sen | AMERICA | 200 | Dianne.Sen@TATTLER.EXAMPLE.COM | 145 | 15-Jan-53 | married | M | H: 150,000 – 169,999 |
| 122 | Maurice | Daltrey | AMERICA | 200 | Maurice.Daltrey@TEAL.EXAMPLE.COM | 145 | 15-Feb-43 | married | M | A: Below 30,000 |
| 185 | Matthew | Wright | AMERICA | 1200 | Matthew.Wright@OVENBIRD.EXAMPLE.COM | 149 | 1-Dec-59 | married | F | G: 130,000 – 149,999 |
| 186 | Meena | Alexander | AMERICA | 1200 | Meena.Alexander@PARULA.EXAMPLE.COM | 149 | 11-Dec-61 | single | F | K: 250,000 – 299,999 |
| 188 | Charlotte | Buckley | AMERICA | 1200 | Charlotte.Buckley@PINTAIL.EXAMPLE.COM | 149 | 10-Jan-49 | single | F | F: 110,000 – 129,999 |
| 277 | Don | Siegel | AMERICA | 5000 | Don.Siegel@BITTERN.EXAMPLE.COM | 149 | 20-Mar-50 | single | M | B: 30,000 – 49,999 |
| 278 | Gvtz | Bradford | AMERICA | 5000 | Gvtz.Bradford@BULBUL.EXAMPLE.COM | 149 | 8-Apr-64 | married | M | K: 250,000 – 299,999 |
| 279 | Holly | Kurosawa | AMERICA | 5000 | Holly.Kurosawa@CARACARA.EXAMPLE.COM | 149 | 19-Apr-61 | single | M | I: 170,000 – 189,999 |
| 280 | Rob | MacLaine | AMERICA | 5000 | Rob.MacLaine@COOT.EXAMPLE.COM | 149 | 9-May-49 | married | M | B: 30,000 – 49,999 |
| 281 | Don | Barkin | AMERICA | 5000 | Don.Barkin@CORMORANT.EXAMPLE.COM | 149 | 18-May-56 | single | M | I: 170,000 – 189,999 |
| 282 | Kurt | Danson | AMERICA | 5000 | Kurt.Danson@COWBIRD.EXAMPLE.COM | 145 | 7-Jun-88 | married | M | H: 150,000 – 169,999 |
| 283 | Kurt | Heard | AMERICA | 5000 | Kurt.Heard@CURLEW.EXAMPLE.COM | 145 | 18-Jun-94 | single | M | H: 150,000 – 169,999 |
| 308 | Glenda | Dunaway | CHINA | 1200 | Glenda.Dunaway@DOWITCHER.EXAMPLE.COM | 148 | 8-Jul-57 | married | M | C: 50,000 – 69,999 |
| 309 | Glenda | Bates | CHINA | 1200 | Glenda.Bates@DIPPER.EXAMPLE.COM | 148 | 18-Jul-55 | single | M | F: 110,000 – 129,999 |
| 323 | Goetz | Falk | INDIA | 5000 | Goetz.Falk@VEERY.EXAMPLE.COM | 148 | 6-Aug-80 | married | F | G: 130,000 – 149,999 |
| 326 | Hal | Olin | GERMANY | 2400 | Hal.Olin@FLICKER.EXAMPLE.COM | 147 | 6-Sep-59 | married | F | H: 150,000 – 169,999 |
| 327 | Hannah | Kanth | GERMANY | 2400 | Hannah.Kanth@GADWALL.EXAMPLE.COM | 147 | 15-Sep-56 | single | M | F: 110,000 – 129,999 |
| 328 | Hannah | Field | GERMANY | 2400 | Hannah.Field@GALLINULE.EXAMPLE.COM | 147 | 6-Oct-85 | married | F | G: 130,000 – 149,999 |
| 333 | Margret | Powell | ITALY | 1200 | Margret.Powell@ANI.EXAMPLE.COM | 147 | 16-Oct-53 | single | M | G: 130,000 – 149,999 |
| 334 | Harry Mean | Taylor | AMERICA | 1200 | HarryMean.Taylor@REDPOLL.EXAMPLE.COM | 147 | 15-Nov-81 | single | M | I: 170,000 – 189,999 |
| 335 | Margrit | Garner | ITALY | 500 | Margrit.Garner@STILT.EXAMPLE.COM | 147 | 5-Dec-82 | married | F | H: 150,000 – 169,999 |
| 337 | Maria | Warden | ITALY | 500 | Maria.Warden@TANAGER.EXAMPLE.COM | 147 | 3-Jan-73 | married | F | B: 30,000 – 49,999 |
| 361 | Marilou | Chapman | ITALY | 500 | Marilou.Chapman@TEAL.EXAMPLE.COM | 147 | 11-Aug-89 | single | F | D: 70,000 – 89,999 |
| 363 | Kathy | Lambert | ITALY | 2400 | Kathy.Lambert@COOT.EXAMPLE.COM | 147 | 31-Aug-56 | married | M | C: 50,000 – 69,999 |
| 360 | Helmut | Capshaw | CHINA | 3600 | Helmut.Capshaw@TROGON.EXAMPLE.COM | 148 | 1-Aug-77 | married | M | J: 190,000 – 249,999 |
| 341 | Keir | George | ITALY | 700 | Keir.George@VIREO.EXAMPLE.COM | 147 | 3-Feb-63 | married | F | E: 90,000 – 109,999 |
| 342 | Marlon | Laughton | ITALY | 2400 | Marlon.Laughton@CORMORANT.EXAMPLE.COM | 147 | 13-Feb-47 | single | F | F: 110,000 – 129,999 |
| 343 | Keir | Chandar | ITALY | 700 | Keir.Chandar@WATERTHRUSH.EXAMPLE.COM | 147 | 4-Mar-60 | married | M | G: 130,000 – 149,999 |
| 345 | Keir | Weaver | ITALY | 700 | Keir.Weaver@WHIMBREL.EXAMPLE.COM | 147 | 4-Apr-62 | married | M | H: 150,000 – 169,999 |
| 346 | Marlon | Clapton | ITALY | 2400 | Marlon.Clapton@COWBIRD.EXAMPLE.COM | 147 | 13-Apr-88 | married | M | K: 250,000 – 299,999 |
| 347 | Kelly | Quinlan | ITALY | 3600 | Kelly.Quinlan@PYRRHULOXIA.EXAMPLE.COM | 147 | 3-May-29 | married | F | A: Below 30,000 |
| 349 | Ken | Glenn | ITALY | 3600 | Ken.Glenn@SAW-WHET.EXAMPLE.COM | 147 | 3-Jun-67 | married | M | K: 250,000 – 299,999 |
| 350 | Ken | Chopra | ITALY | 3600 | Ken.Chopra@SCAUP.EXAMPLE.COM | 147 | 13-Jun-51 | single | F | F: 110,000 – 129,999 |
| 351 | Ken | Wenders | ITALY | 3600 | Ken.Wenders@REDPOLL.EXAMPLE.COM | 147 | 3-Jul-62 | married | F | F: 110,000 – 129,999 |
| 380 | Meryl | Holden | INDIA | 3700 | Meryl.Holden@DIPPER.EXAMPLE.COM | 148 | 10-Oct-61 | single | F | H: 150,000 – 169,999 |
| 447 | Richard | Coppola | ITALY | 500 | Richard.Coppola@SISKIN.EXAMPLE.COM | 147 | 30-Oct-81 | married | F | C: 50,000 – 69,999 |
| 448 | Richard | Winters | ITALY | 500 | Richard.Winters@SNIPE.EXAMPLE.COM | 147 | 30-Nov-54 | married | M | F: 110,000 – 129,999 |
| 450 | Rick | Lyon | ITALY | 1500 | Rick.Lyon@MERGANSER.EXAMPLE.COM | 147 | 1-Jan-41 | married | F | F: 110,000 – 129,999 |
| 451 | Ridley | Hackman | ITALY | 700 | Ridley.Hackman@ANHINGA.EXAMPLE.COM | 147 | 11-Jan-50 | single | F | H: 150,000 – 169,999 |
| 452 | Ridley | Coyote | ITALY | 700 | Ridley.Coyote@ANI.EXAMPLE.COM | 147 | 31-Jan-49 | married | M | F: 110,000 – 129,999 |
| 454 | Rob | Russell | INDIA | 5000 | Rob.Russell@VERDIN.EXAMPLE.COM | 148 | 2-Mar-77 | married | M | E: 90,000 – 109,999 |
| 458 | Robert | de Niro | INDIA | 3700 | Robert.deNiro@DOWITCHER.EXAMPLE.COM | 148 | 12-Mar-86 | single | F | H: 150,000 – 169,999 |
| 466 | Rodolfo | Hershey | INDIA | 5000 | Rodolfo.Hershey@VIREO.EXAMPLE.COM | 148 | 11-Apr-47 | single | M | F: 110,000 – 129,999 |
| 467 | Rodolfo | Dench | INDIA | 5000 | Rodolfo.Dench@SCOTER.EXAMPLE.COM | 148 | 1-May-71 | married | F | F: 110,000 – 129,999 |
| 468 | Rodolfo | Altman | INDIA | 5000 | Rodolfo.Altman@SHRIKE.EXAMPLE.COM | 148 | 11-May-83 | single | F | F: 110,000 – 129,999 |
| 189 | Gena | Harris | AMERICA | 1200 | Gena.Harris@PIPIT.EXAMPLE.COM | 149 | 30-Jan-55 | married | M | F: 110,000 – 129,999 |
| 190 | Gena | Curtis | AMERICA | 1200 | Gena.Curtis@PLOVER.EXAMPLE.COM | 149 | 9-Feb-82 | single | M | J: 190,000 – 249,999 |
| 191 | Maureen | Sanders | AMERICA | 1200 | Maureen.Sanders@PUFFIN.EXAMPLE.COM | 149 | 29-Feb-24 | married | M | A: Below 30,000 |
| 192 | Sean | Stockwell | AMERICA | 1200 | Sean.Stockwell@PYRRHULOXIA.EXAMPLE.COM | 149 | 30-Mar-56 | married | M | I: 170,000 – 189,999 |
| 193 | Harry dean | Kinski | AMERICA | 1200 | Harrydean.Kinski@REDPOLL.EXAMPLE.COM | 149 | 30-Apr-55 | married | M | D: 70,000 – 89,999 |
| 194 | Kathleen | Garcia | AMERICA | 1200 | Kathleen.Garcia@REDSTART.EXAMPLE.COM | 149 | 30-May-71 | married | F | I: 170,000 – 189,999 |
| 195 | Sean | Olin | AMERICA | 1200 | Sean.Olin@SCAUP.EXAMPLE.COM | 149 | 9-Jun-86 | single | F | F: 110,000 – 129,999 |
| 196 | Gerard | Dench | AMERICA | 1200 | Gerard.Dench@SCOTER.EXAMPLE.COM | 149 | 29-Jun-53 | married | F | E: 90,000 – 109,999 |
| 197 | Gerard | Altman | AMERICA | 1200 | Gerard.Altman@SHRIKE.EXAMPLE.COM | 149 | 8-Jul-84 | single | F | F: 110,000 – 129,999 |
| 198 | Maureen | de Funes | AMERICA | 1200 | Maureen.deFunes@SISKIN.EXAMPLE.COM | 149 | 29-Jul-49 | married | F | D: 70,000 – 89,999 |
| 199 | Clint | Chapman | AMERICA | 1400 | Clint.Chapman@SNIPE.EXAMPLE.COM | 149 | 7-Aug-52 | single | F | F: 110,000 – 129,999 |
| 200 | Clint | Gielgud | AMERICA | 1400 | Clint.Gielgud@STILT.EXAMPLE.COM | 149 | 28-Aug-78 | married | F | E: 90,000 – 109,999 |
| 201 | Eric | Prashant | AMERICA | 1400 | Eric.Prashant@TATTLER.EXAMPLE.COM | 149 | 27-Sep-43 | married | F | C: 50,000 – 69,999 |
| 202 | Ingrid | Welles | AMERICA | 1400 | Ingrid.Welles@TEAL.EXAMPLE.COM | 149 | 27-Oct-39 | married | M | D: 70,000 – 89,999 |
| 203 | Ingrid | Rampling | AMERICA | 1400 | Ingrid.Rampling@WIGEON.EXAMPLE.COM | 149 | 5-Nov-48 | single | M | F: 110,000 – 129,999 |
| 204 | Cliff | Puri | AMERICA | 1400 | Cliff.Puri@CORMORANT.EXAMPLE.COM | 149 | 26-Nov-61 | married | M | J: 190,000 – 249,999 |
| 205 | Emily | Pollack | AMERICA | 1400 | Emily.Pollack@DIPPER.EXAMPLE.COM | 149 | 6-Dec-55 | single | M | L: 300,000 and above |
| 206 | Fritz | Hackman | AMERICA | 1400 | Fritz.Hackman@DUNLIN.EXAMPLE.COM | 149 | 26-Dec-83 | married | F | G: 130,000 – 149,999 |
| 207 | Cybill | Laughton | AMERICA | 1400 | Cybill.Laughton@EIDER.EXAMPLE.COM | 149 | 4-Jan-89 | single | M | F: 110,000 – 129,999 |
| 208 | Cyndi | Griem | AMERICA | 1400 | Cyndi.Griem@GALLINULE.EXAMPLE.COM | 149 | 25-Jan-56 | married | M | E: 90,000 – 109,999 |
| 209 | Cyndi | Collins | AMERICA | 1400 | Cyndi.Collins@GODWIT.EXAMPLE.COM | 149 | 4-Feb-46 | single | M | D: 70,000 – 89,999 |
| 210 | Cybill | Clapton | AMERICA | 1400 | Cybill.Clapton@GOLDENEYE.EXAMPLE.COM | 149 | 24-Feb-74 | married | F | D: 70,000 – 89,999 |
| 211 | Luchino | Jordan | AMERICA | 1500 | Luchino.Jordan@GREBE.EXAMPLE.COM | 149 | 6-Mar-83 | single | F | A: Below 30,000 |
| 213 | Luchino | Bradford | AMERICA | 1500 | Luchino.Bradford@PARULA.EXAMPLE.COM | 149 | 24-Apr-76 | married | M | A: Below 30,000 |
| 214 | Robin | Danson | AMERICA | 1500 | Robin.Danson@PHAINOPEPLA.EXAMPLE.COM | 149 | 5-May-46 | single | M | F: 110,000 – 129,999 |
| 215 | Orson | Perkins | AMERICA | 1900 | Orson.Perkins@PINTAIL.EXAMPLE.COM | 149 | 24-May-85 | married | M | E: 90,000 – 109,999 |
| 216 | Orson | Koirala | AMERICA | 1900 | Orson.Koirala@PIPIT.EXAMPLE.COM | 149 | 4-Jun-79 | single | F | J: 190,000 – 249,999 |
| 218 | Bryan | Dvrrie | AMERICA | 2300 | Bryan.Dvrrie@REDPOLL.EXAMPLE.COM | 149 | 4-Jul-66 | single | F | G: 130,000 – 149,999 |
| 219 | Ajay | Sen | AMERICA | 2300 | Ajay.Sen@TROGON.EXAMPLE.COM | 149 | 13-Jul-77 | single | M | K: 250,000 – 299,999 |
| 220 | Carol | Jordan | AMERICA | 2300 | Carol.Jordan@TURNSTONE.EXAMPLE.COM | 149 | 23-Jul-76 | married | M | I: 170,000 – 189,999 |
| 221 | Carol | Bradford | AMERICA | 2300 | Carol.Bradford@VERDIN.EXAMPLE.COM | 149 | 2-Aug-53 | single | M | G: 130,000 – 149,999 |
| 223 | Cary | Olin | AMERICA | 2300 | Cary.Olin@WATERTHRUSH.EXAMPLE.COM | 149 | 2-Sep-35 | single | M | D: 70,000 – 89,999 |
| 224 | Clara | Krige | AMERICA | 2300 | Clara.Krige@WHIMBREL.EXAMPLE.COM | 149 | 22-Sep-59 | married | M | H: 150,000 – 169,999 |
| 225 | Clara | Ganesan | AMERICA | 2300 | Clara.Ganesan@WIGEON.EXAMPLE.COM | 149 | 2-Oct-59 | single | F | I: 170,000 – 189,999 |
| 227 | Kathy | Prashant | AMERICA | 2400 | Kathy.Prashant@ANI.EXAMPLE.COM | 149 | 1-Nov-83 | single | M | J: 190,000 – 249,999 |
| 228 | Graham | Neeson | AMERICA | 2400 | Graham.Neeson@AUKLET.EXAMPLE.COM | 149 | 20-Nov-41 | married | M | E: 90,000 – 109,999 |
| 229 | Ian | Chapman | AMERICA | 2400 | Ian.Chapman@AVOCET.EXAMPLE.COM | 149 | 30-Nov-65 | single | M | D: 70,000 – 89,999 |
| 230 | Danny | Wright | AMERICA | 2400 | Danny.Wright@BITTERN.EXAMPLE.COM | 149 | 20-Dec-48 | married | M | F: 110,000 – 129,999 |
| 232 | Donald | Hunter | AMERICA | 2400 | Donald.Hunter@CHACHALACA.EXAMPLE.COM | 145 | 20-Jan-60 | married | M | G: 130,000 – 149,999 |
| 233 | Graham | Spielberg | AMERICA | 2400 | Graham.Spielberg@CHUKAR.EXAMPLE.COM | 145 | 29-Jan-70 | single | M | D: 70,000 – 89,999 |
| 234 | Dan | Roberts | AMERICA | 2400 | Dan.Roberts@NUTHATCH.EXAMPLE.COM | 145 | 18-Feb-73 | married | M | I: 170,000 – 189,999 |
| 235 | Edward | Oates | AMERICA | 2400 | Edward.Oates@OVENBIRD.EXAMPLE.COM | 145 | 21-Mar-55 | married | M | E: 90,000 – 109,999 |
| 236 | Edward | Julius | AMERICA | 2400 | Edward.Julius@PARULA.EXAMPLE.COM | 145 | 30-Mar-86 | single | M | F: 110,000 – 129,999 |
| 237 | Farrah | Quinlan | AMERICA | 2400 | Farrah.Quinlan@PHAINOPEPLA.EXAMPLE.COM | 145 | 19-Apr-48 | married | M | A: Below 30,000 |
| 238 | Farrah | Lange | AMERICA | 2400 | Farrah.Lange@PHALAROPE.EXAMPLE.COM | 145 | 19-May-81 | married | M | F: 110,000 – 129,999 |
| 239 | Hal | Stockwell | AMERICA | 2400 | Hal.Stockwell@PHOEBE.EXAMPLE.COM | 145 | 29-May-66 | single | M | H: 150,000 – 169,999 |
| 240 | Malcolm | Kanth | AMERICA | 2400 | Malcolm.Kanth@PIPIT.EXAMPLE.COM | 145 | 19-Jun-55 | married | F | H: 150,000 – 169,999 |
| 241 | Malcolm | Broderick | AMERICA | 2400 | Malcolm.Broderick@PLOVER.EXAMPLE.COM | 145 | 28-Jun-52 | single | M | F: 110,000 – 129,999 |
| 242 | Mary | Lemmon | AMERICA | 2400 | Mary.Lemmon@PUFFIN.EXAMPLE.COM | 145 | 18-Jul-62 | married | M | K: 250,000 – 299,999 |
| 243 | Mary | Collins | AMERICA | 2400 | Mary.Collins@PYRRHULOXIA.EXAMPLE.COM | 145 | 18-Aug-55 | married | F | F: 110,000 – 129,999 |
| 244 | Matt | Gueney | AMERICA | 2400 | Matt.Gueney@REDPOLL.EXAMPLE.COM | 145 | 27-Aug-52 | single | M | G: 130,000 – 149,999 |
| 245 | Max | von Sydow | AMERICA | 2400 | Max.vonSydow@REDSTART.EXAMPLE.COM | 145 | 7-Sep-67 | single | M | K: 250,000 – 299,999 |
| 246 | Max | Schell | AMERICA | 2400 | Max.Schell@SANDERLING.EXAMPLE.COM | 145 | 16-Sep-84 | married | M | F: 110,000 – 129,999 |
| 247 | Cynda | Whitcraft | AMERICA | 2400 | Cynda.Whitcraft@SANDPIPER.EXAMPLE.COM | 145 | 16-Oct-54 | married | M | B: 30,000 – 49,999 |
| 248 | Donald | Minnelli | AMERICA | 2400 | Donald.Minnelli@SCAUP.EXAMPLE.COM | 145 | 26-Oct-53 | single | M | F: 110,000 – 129,999 |
| 249 | Hannah | Broderick | AMERICA | 2400 | Hannah.Broderick@SHRIKE.EXAMPLE.COM | 145 | 16-Nov-75 | married | M | D: 70,000 – 89,999 |
| 250 | Dan | Williams | AMERICA | 2400 | Dan.Williams@SISKIN.EXAMPLE.COM | 145 | 25-Nov-84 | single | M | A: Below 30,000 |
| 251 | Raul | Wilder | AMERICA | 2500 | Raul.Wilder@STILT.EXAMPLE.COM | 145 | 15-Dec-45 | married | M | E: 90,000 – 109,999 |
| 252 | Shah Rukh | Field | AMERICA | 2500 | ShahRukh.Field@WHIMBREL.EXAMPLE.COM | 145 | 25-Dec-57 | single | M | I: 170,000 – 189,999 |
| 253 | Sally | Bogart | AMERICA | 2500 | Sally.Bogart@WILLET.EXAMPLE.COM | 145 | 14-Jan-85 | married | M | H: 150,000 – 169,999 |
| 254 | Bruce | Bates | AMERICA | 3500 | Bruce.Bates@COWBIRD.EXAMPLE.COM | 145 | 25-Jan-40 | single | M | D: 70,000 – 89,999 |
| 256 | Ben | de Niro | AMERICA | 3500 | Ben.deNiro@KINGLET.EXAMPLE.COM | 145 | 24-Feb-80 | single | M | I: 170,000 – 189,999 |
| 257 | Emmet | Walken | AMERICA | 3600 | Emmet.Walken@LIMPKIN.EXAMPLE.COM | 145 | 15-Mar-75 | married | M | B: 30,000 – 49,999 |
| 258 | Ellen | Palin | AMERICA | 3600 | Ellen.Palin@LONGSPUR.EXAMPLE.COM | 145 | 14-Apr-77 | married | M | H: 150,000 – 169,999 |
| 259 | Denholm | von Sydow | AMERICA | 3600 | Denholm.vonSydow@MERGANSER.EXAMPLE.COM | 145 | 24-Apr-43 | single | F | D: 70,000 – 89,999 |
| 261 | Emmet | Garcia | AMERICA | 3600 | Emmet.Garcia@VIREO.EXAMPLE.COM | 149 | 13-Jun-61 | married | M | H: 150,000 – 169,999 |
| 124 | Diane | Mason | AMERICA | 200 | Diane.Mason@TROGON.EXAMPLE.COM | 145 | 16-Mar-81 | married | F | K: 250,000 – 299,999 |
| 125 | Dianne | Andrews | AMERICA | 200 | Dianne.Andrews@TURNSTONE.EXAMPLE.COM | 145 | 27-Mar-59 | single | F | F: 110,000 – 129,999 |
| 126 | Charles | Field | AMERICA | 300 | Charles.Field@BECARD.EXAMPLE.COM | 145 | 16-Apr-46 | married | F | F: 110,000 – 129,999 |
| 128 | Isabella | Reed | AMERICA | 300 | Isabella.Reed@BRANT.EXAMPLE.COM | 145 | 16-May-54 | married | F | J: 190,000 – 249,999 |
| 129 | Louis | Jackson | AMERICA | 400 | Louis.Jackson@CARACARA.EXAMPLE.COM | 145 | 26-May-39 | single | M | D: 70,000 – 89,999 |
| 130 | Louis | Edwards | AMERICA | 400 | Louis.Edwards@CHACHALACA.EXAMPLE.COM | 145 | 14-Jun-44 | married | M | C: 50,000 – 69,999 |
| 131 | Doris | Dutt | AMERICA | 400 | Doris.Dutt@CHUKAR.EXAMPLE.COM | 145 | 14-Jul-76 | married | F | C: 50,000 – 69,999 |
| 133 | Kristin | Malden | AMERICA | 400 | Kristin.Malden@GODWIT.EXAMPLE.COM | 145 | 14-Aug-50 | married | F | C: 50,000 – 69,999 |
| 134 | Sissy | Puri | AMERICA | 400 | Sissy.Puri@GREBE.EXAMPLE.COM | 145 | 12-Sep-72 | married | F | F: 110,000 – 129,999 |
| 135 | Doris | Bel Geddes | AMERICA | 400 | Doris.BelGeddes@GROSBEAK.EXAMPLE.COM | 145 | 22-Sep-80 | single | F | B: 30,000 – 49,999 |
| 136 | Sissy | Warden | AMERICA | 400 | Sissy.Warden@JACANA.EXAMPLE.COM | 145 | 12-Oct-44 | married | F | F: 110,000 – 129,999 |
| 138 | Mani | Fonda | AMERICA | 500 | Mani.Fonda@KINGLET.EXAMPLE.COM | 145 | 11-Nov-77 | married | M | F: 110,000 – 129,999 |
| 139 | Placido | Kubrick | AMERICA | 500 | Placido.Kubrick@SCOTER.EXAMPLE.COM | 145 | 22-Nov-42 | single | M | F: 110,000 – 129,999 |
| 140 | Claudia | Kurosawa | AMERICA | 500 | Claudia.Kurosawa@CHUKAR.EXAMPLE.COM | 145 | 11-Dec-81 | married | M | E: 90,000 – 109,999 |
| 141 | Maximilian | Henner | AMERICA | 500 | Maximilian.Henner@DUNLIN.EXAMPLE.COM | 145 | 21-Dec-73 | single | M | H: 150,000 – 169,999 |
| 143 | Sachin | Neeson | AMERICA | 500 | Sachin.Neeson@GALLINULE.EXAMPLE.COM | 145 | 20-Jan-62 | single | M | F: 110,000 – 129,999 |
| 767 | Klaus Maria | Russell | ITALY | 100 | KlausMaria.Russell@COOT.EXAMPLE.COM | 147 | 20-Jan-70 | married | M | C: 50,000 – 69,999 |
| 771 | Kris | de Niro | ITALY | 400 | Kris.deNiro@DUNLIN.EXAMPLE.COM | 147 | 21-Mar-77 | married | M | E: 90,000 – 109,999 |
| 826 | Alain | Barkin | SWITZERLAND | 500 | Alain.Barkin@VERDIN.EXAMPLE.COM | 147 | 20-May-69 | married | M | A: Below 30,000 |
| 830 | Albert | Dutt | SWITZERLAND | 3500 | Albert.Dutt@CURLEW.EXAMPLE.COM | 147 | 29-Aug-47 | single | M | F: 110,000 – 129,999 |
| 850 | Amanda | Finney | SWITZERLAND | 2300 | Amanda.Finney@STILT.EXAMPLE.COM | 147 | 23-Aug-91 | single | M | J: 190,000 – 249,999 |
| 905 | Billy | Hershey | INDIA | 1400 | Billy.Hershey@BULBUL.EXAMPLE.COM | 148 | 22-Oct-87 | single | F | G: 130,000 – 149,999 |
| 911 | Bo | Dickinson | INDIA | 5000 | Bo.Dickinson@TANAGER.EXAMPLE.COM | 148 | 11-Dec-81 | married | M | H: 150,000 – 169,999 |
| 919 | Brooke | Michalkow | INDIA | 3500 | Brooke.Michalkow@GROSBEAK.EXAMPLE.COM | 148 | 19-Feb-62 | single | M | D: 70,000 – 89,999 |
| 924 | Bruno | Montand | INDIA | 5000 | Bruno.Montand@TOWHEE.EXAMPLE.COM | 148 | 20-Apr-34 | single | F | D: 70,000 – 89,999 |
| 930 | Buster | Jackson | INDIA | 900 | Buster.Jackson@KILLDEER.EXAMPLE.COM | 148 | 8-Jul-24 | married | M | A: Below 30,000 |
| 980 | Daniel | Loren | INDIA | 200 | Daniel.Loren@REDSTART.EXAMPLE.COM | 148 | 17-Sep-70 | single | M | F: 110,000 – 129,999 |
| 473 | Rolf | Ashby | INDIA | 5000 | Rolf.Ashby@WATERTHRUSH.EXAMPLE.COM | 148 | 10-Jun-49 | single | M | G: 130,000 – 149,999 |
| 474 | Romy | Sharif | INDIA | 5000 | Romy.Sharif@SNIPE.EXAMPLE.COM | 148 | 29-Jun-76 | married | M | F: 110,000 – 129,999 |
| 475 | Romy | McCarthy | INDIA | 5000 | Romy.McCarthy@STILT.EXAMPLE.COM | 148 | 10-Jul-33 | single | F | D: 70,000 – 89,999 |
| 476 | Rosanne | Hopkins | INDIA | 300 | Rosanne.Hopkins@ANI.EXAMPLE.COM | 148 | 30-Jul-79 | married | M | D: 70,000 – 89,999 |
| 477 | Rosanne | Douglas | INDIA | 300 | Rosanne.Douglas@ANHINGA.EXAMPLE.COM | 148 | 9-Aug-70 | single | F | F: 110,000 – 129,999 |
| 478 | Rosanne | Baldwin | INDIA | 300 | Rosanne.Baldwin@AUKLET.EXAMPLE.COM | 148 | 29-Aug-67 | married | F | A: Below 30,000 |
| 479 | Roxanne | Shepherd | INDIA | 1200 | Roxanne.Shepherd@DUNLIN.EXAMPLE.COM | 148 | 8-Sep-63 | single | F | I: 170,000 – 189,999 |
| 480 | Roxanne | Michalkow | INDIA | 1200 | Roxanne.Michalkow@EIDER.EXAMPLE.COM | 148 | 18-Sep-73 | single | M | L: 300,000 and above |
| 481 | Roy | Hulce | INDIA | 5000 | Roy.Hulce@SISKIN.EXAMPLE.COM | 148 | 28-Sep-67 | married | F | E: 90,000 – 109,999 |
| 482 | Roy | Dunaway | INDIA | 5000 | Roy.Dunaway@WHIMBREL.EXAMPLE.COM | 148 | 28-Oct-55 | married | F | F: 110,000 – 129,999 |
| 483 | Roy | Bates | INDIA | 5000 | Roy.Bates@WIGEON.EXAMPLE.COM | 148 | 7-Nov-42 | single | M | G: 130,000 – 149,999 |
| 487 | Rufus | Dvrrie | INDIA | 1900 | Rufus.Dvrrie@PLOVER.EXAMPLE.COM | 148 | 26-Nov-60 | married | M | J: 190,000 – 249,999 |
| 488 | Rufus | Belushi | INDIA | 1900 | Rufus.Belushi@PUFFIN.EXAMPLE.COM | 148 | 26-Dec-52 | married | M | G: 130,000 – 149,999 |
| 492 | Sally | Edwards | INDIA | 2500 | Sally.Edwards@TURNSTONE.EXAMPLE.COM | 148 | 6-Jan-80 | married | F | K: 250,000 – 299,999 |
| 496 | Scott | Jordan | INDIA | 5000 | Scott.Jordan@WILLET.EXAMPLE.COM | 148 | 25-Jan-45 | married | F | G: 130,000 – 149,999 |
| 605 | Shammi | Pacino | INDIA | 500 | Shammi.Pacino@BITTERN.EXAMPLE.COM | 148 | 5-Feb-59 | single | F | B: 30,000 – 49,999 |
| 606 | Sharmila | Kazan | INDIA | 500 | Sharmila.Kazan@BRANT.EXAMPLE.COM | 148 | 25-Feb-38 | married | F | D: 70,000 – 89,999 |
| 609 | Shelley | Taylor | INDIA | 3700 | Shelley.Taylor@CURLEW.EXAMPLE.COM | 148 | 26-Mar-57 | married | F | I: 170,000 – 189,999 |
| 615 | Shyam | Plummer | INDIA | 2500 | Shyam.Plummer@VEERY.EXAMPLE.COM | 148 | 25-Apr-69 | married | M | J: 190,000 – 249,999 |
| 621 | Silk | Kurosawa | INDIA | 1500 | Silk.Kurosawa@NUTHATCH.EXAMPLE.COM | 148 | 5-May-84 | single | F | G: 130,000 – 149,999 |
| 712 | M. Emmet | Stockwell | ITALY | 3700 | M.Emmet.Stockwell@COOT.EXAMPLE.COM | 147 | 5-Jun-83 | single | M | H: 150,000 – 169,999 |
| 713 | M. Emmet | Olin | ITALY | 3700 | M.Emmet.Olin@CORMORANT.EXAMPLE.COM | 147 | 24-Jun-48 | married | F | F: 110,000 – 129,999 |
| 717 | Mammutti | Sutherland | ITALY | 500 | Mammutti.Sutherland@TOWHEE.EXAMPLE.COM | 147 | 25-Jul-74 | married | M | D: 70,000 – 89,999 |
| 719 | Mani | Kazan | ITALY | 500 | Mani.Kazan@TROGON.EXAMPLE.COM | 147 | 4-Aug-62 | single | M | I: 170,000 – 189,999 |
| 721 | Mani | Buckley | ITALY | 500 | Mani.Buckley@TURNSTONE.EXAMPLE.COM | 147 | 23-Aug-44 | married | M | E: 90,000 – 109,999 |
| 729 | Margaux | Krige | ITALY | 2400 | Margaux.Krige@DUNLIN.EXAMPLE.COM | 147 | 23-Sep-42 | married | M | F: 110,000 – 129,999 |
| 731 | Margaux | Capshaw | ITALY | 2400 | Margaux.Capshaw@EIDER.EXAMPLE.COM | 147 | 2-Oct-33 | single | M | B: 30,000 – 49,999 |
| 754 | Kevin | Goodman | ITALY | 700 | Kevin.Goodman@WIGEON.EXAMPLE.COM | 147 | 22-Oct-48 | married | M | E: 90,000 – 109,999 |
| 756 | Kevin | Wilder | ITALY | 700 | Kevin.Wilder@AUKLET.EXAMPLE.COM | 147 | 2-Dec-86 | single | M | G: 130,000 – 149,999 |
| 757 | Kiefer | Reynolds | ITALY | 700 | Kiefer.Reynolds@AVOCET.EXAMPLE.COM | 147 | 21-Dec-53 | married | M | F: 110,000 – 129,999 |
| 766 | Klaus | Young | ITALY | 600 | Klaus.Young@OVENBIRD.EXAMPLE.COM | 147 | 1-Jan-55 | single | M | H: 150,000 – 169,999 |
| 768 | Klaus Maria | MacLaine | ITALY | 100 | KlausMaria.MacLaine@CHUKAR.EXAMPLE.COM | 147 | 31-Jan-80 | single | M | A: Below 30,000 |
| 769 | Kris | Harris | ITALY | 400 | Kris.Harris@DIPPER.EXAMPLE.COM | 147 | 19-Feb-49 | married | M | G: 130,000 – 149,999 |
| 770 | Kris | Curtis | ITALY | 400 | Kris.Curtis@DOWITCHER.EXAMPLE.COM | 147 | 2-Mar-55 | single | M | K: 250,000 – 299,999 |
| 772 | Kristin | Savage | ITALY | 400 | Kristin.Savage@CURLEW.EXAMPLE.COM | 147 | 1-Apr-43 | single | F | F: 110,000 – 129,999 |
| 782 | Laurence | Seignier | THAILAND | 1200 | Laurence.Seignier@CREEPER.EXAMPLE.COM | 149 | 21-Apr-83 | married | M | F: 110,000 – 129,999 |
| 825 | Alain | Dreyfuss | SWITZERLAND | 500 | Alain.Dreyfuss@VEERY.EXAMPLE.COM | 147 | 30-Apr-76 | single | M | J: 190,000 – 249,999 |
| 827 | Alain | Siegel | SWITZERLAND | 500 | Alain.Siegel@VIREO.EXAMPLE.COM | 147 | 19-Jun-73 | married | F | I: 170,000 – 189,999 |
| 828 | Alan | Minnelli | SWITZERLAND | 2300 | Alan.Minnelli@TANAGER.EXAMPLE.COM | 147 | 20-Jul-55 | married | M | D: 70,000 – 89,999 |
| 829 | Alan | Hunter | SWITZERLAND | 2300 | Alan.Hunter@TATTLER.EXAMPLE.COM | 147 | 19-Aug-59 | married | M | I: 170,000 – 189,999 |
| 831 | Albert | Bel Geddes | SWITZERLAND | 3500 | Albert.BelGeddes@DIPPER.EXAMPLE.COM | 147 | 17-Sep-52 | married | M | E: 90,000 – 109,999 |
| 832 | Albert | Spacek | SWITZERLAND | 3500 | Albert.Spacek@DOWITCHER.EXAMPLE.COM | 147 | 27-Sep-76 | single | M | F: 110,000 – 129,999 |
| 833 | Alec | Moranis | SWITZERLAND | 3500 | Alec.Moranis@DUNLIN.EXAMPLE.COM | 147 | 17-Oct-34 | married | M | D: 70,000 – 89,999 |
| 834 | Alec | Idle | SWITZERLAND | 3500 | Alec.Idle@EIDER.EXAMPLE.COM | 147 | 27-Oct-64 | single | M | F: 110,000 – 129,999 |
| 835 | Alexander | Eastwood | SWITZERLAND | 1200 | Alexander.Eastwood@AVOCET.EXAMPLE.COM | 147 | 16-Nov-42 | married | F | E: 90,000 – 109,999 |
| 836 | Alexander | Berenger | SWITZERLAND | 1200 | Alexander.Berenger@BECARD.EXAMPLE.COM | 147 | 16-Dec-52 | married | F | C: 50,000 – 69,999 |
| 837 | Alexander | Stanton | SWITZERLAND | 1200 | Alexander.Stanton@AUKLET.EXAMPLE.COM | 147 | 15-Jan-65 | married | F | D: 70,000 – 89,999 |
| 838 | Alfred | Nicholson | SWITZERLAND | 3500 | Alfred.Nicholson@CREEPER.EXAMPLE.COM | 147 | 25-Jan-85 | single | M | F: 110,000 – 129,999 |
| 839 | Alfred | Johnson | SWITZERLAND | 3500 | Alfred.Johnson@FLICKER.EXAMPLE.COM | 147 | 14-Feb-57 | married | M | J: 190,000 – 249,999 |
| 840 | Ali | Elliott | SWITZERLAND | 1400 | Ali.Elliott@ANHINGA.EXAMPLE.COM | 147 | 16-Mar-51 | married | M | G: 130,000 – 149,999 |
| 841 | Ali | Boyer | SWITZERLAND | 1400 | Ali.Boyer@WILLET.EXAMPLE.COM | 147 | 26-Mar-51 | single | M | F: 110,000 – 129,999 |
| 842 | Ali | Stern | SWITZERLAND | 1400 | Ali.Stern@YELLOWTHROAT.EXAMPLE.COM | 147 | 15-Apr-77 | married | M | E: 90,000 – 109,999 |
| 843 | Alice | Oates | SWITZERLAND | 700 | Alice.Oates@BECARD.EXAMPLE.COM | 147 | 25-Apr-59 | single | F | D: 70,000 – 89,999 |
| 844 | Alice | Julius | SWITZERLAND | 700 | Alice.Julius@BITTERN.EXAMPLE.COM | 147 | 15-May-44 | married | F | D: 70,000 – 89,999 |
| 845 | Ally | Fawcett | SWITZERLAND | 5000 | Ally.Fawcett@PLOVER.EXAMPLE.COM | 147 | 25-May-44 | single | F | A: Below 30,000 |
| 846 | Ally | Brando | SWITZERLAND | 5000 | Ally.Brando@PINTAIL.EXAMPLE.COM | 147 | 14-Jun-62 | married | F | L: 300,000 and above |
| 847 | Ally | Streep | SWITZERLAND | 5000 | Ally.Streep@PIPIT.EXAMPLE.COM | 147 | 14-Jul-42 | married | M | A: Below 30,000 |
| 848 | Alonso | Olmos | SWITZERLAND | 1800 | Alonso.Olmos@PHALAROPE.EXAMPLE.COM | 147 | 24-Jul-48 | single | F | F: 110,000 – 129,999 |
| 849 | Alonso | Kaurusmdki | SWITZERLAND | 1800 | Alonso.Kaurusmdki@PHOEBE.EXAMPLE.COM | 147 | 13-Aug-80 | married | F | E: 90,000 – 109,999 |
| 851 | Amanda | Brown | SWITZERLAND | 2300 | Amanda.Brown@THRASHER.EXAMPLE.COM | 147 | 12-Sep-51 | married | F | B: 30,000 – 49,999 |
| 852 | Amanda | Tanner | SWITZERLAND | 2300 | Amanda.Tanner@TEAL.EXAMPLE.COM | 147 | 22-Sep-53 | single | F | G: 130,000 – 149,999 |
| 853 | Amrish | Palin | SWITZERLAND | 400 | Amrish.Palin@EIDER.EXAMPLE.COM | 147 | 12-Oct-77 | married | F | I: 170,000 – 189,999 |
| 906 | Billy | Dench | INDIA | 1400 | Billy.Dench@CARACARA.EXAMPLE.COM | 148 | 11-Nov-58 | married | M | I: 170,000 – 189,999 |
| 909 | Blake | Mastroianni | INDIA | 1200 | Blake.Mastroianni@FLICKER.EXAMPLE.COM | 148 | 21-Nov-49 | single | M | D: 70,000 – 89,999 |
| 912 | Bo | Ashby | INDIA | 5000 | Bo.Ashby@TATTLER.EXAMPLE.COM | 148 | 21-Dec-56 | single | M | I: 170,000 – 189,999 |
| 913 | Bob | Sharif | INDIA | 5000 | Bob.Sharif@TEAL.EXAMPLE.COM | 148 | 10-Jan-85 | married | M | F: 110,000 – 129,999 |
| 916 | Brian | Douglas | INDIA | 500 | Brian.Douglas@AVOCET.EXAMPLE.COM | 148 | 20-Jan-78 | single | M | J: 190,000 – 249,999 |
| 917 | Brian | Baldwin | INDIA | 500 | Brian.Baldwin@BECARD.EXAMPLE.COM | 148 | 9-Feb-75 | married | M | E: 90,000 – 109,999 |
| 920 | Bruce | Hulce | INDIA | 3500 | Bruce.Hulce@JACANA.EXAMPLE.COM | 148 | 10-Mar-72 | married | M | F: 110,000 – 129,999 |
| 921 | Bruce | Dunaway | INDIA | 3500 | Bruce.Dunaway@JUNCO.EXAMPLE.COM | 148 | 20-Mar-48 | single | F | F: 110,000 – 129,999 |
| 923 | Bruno | Slater | INDIA | 5000 | Bruno.Slater@THRASHER.EXAMPLE.COM | 148 | 9-Apr-60 | married | F | G: 130,000 – 149,999 |
| 927 | Bryan | Belushi | INDIA | 2300 | Bryan.Belushi@TOWHEE.EXAMPLE.COM | 148 | 10-May-61 | married | M | I: 170,000 – 189,999 |
| 928 | Burt | Spielberg | INDIA | 5000 | Burt.Spielberg@TROGON.EXAMPLE.COM | 148 | 9-Jun-54 | married | M | E: 90,000 – 109,999 |
| 929 | Burt | Neeson | INDIA | 5000 | Burt.Neeson@TURNSTONE.EXAMPLE.COM | 148 | 19-Jun-78 | single | M | F: 110,000 – 129,999 |
| 931 | Buster | Edwards | INDIA | 900 | Buster.Edwards@KINGLET.EXAMPLE.COM | 148 | 8-Aug-47 | married | M | F: 110,000 – 129,999 |
| 932 | Buster | Bogart | INDIA | 900 | Buster.Bogart@KISKADEE.EXAMPLE.COM | 148 | 17-Aug-52 | single | M | H: 150,000 – 169,999 |
| 934 | C. Thomas | Nolte | INDIA | 600 | C.Thomas.Nolte@PHOEBE.EXAMPLE.COM | 148 | 7-Sep-59 | married | M | H: 150,000 – 169,999 |
| 981 | Daniel | Gueney | CHINA | 200 | Daniel.Gueney@REDPOLL.EXAMPLE.COM | 148 | 7-Oct-73 | married | M | K: 250,000 – 299,999 |
| 123 | Elizabeth | Brown | AMERICA | 200 | Elizabeth.Brown@THRASHER.EXAMPLE.COM | 145 | 24-Feb-49 | single | F | F: 110,000 – 129,999 |
| 127 | Charles | Broderick | AMERICA | 300 | Charles.Broderick@BITTERN.EXAMPLE.COM | 145 | 26-Apr-43 | single | F | B: 30,000 – 49,999 |
| 132 | Doris | Spacek | AMERICA | 400 | Doris.Spacek@FLICKER.EXAMPLE.COM | 145 | 25-Jul-87 | single | M | H: 150,000 – 169,999 |
| 137 | Elia | Brando | AMERICA | 500 | Elia.Brando@JUNCO.EXAMPLE.COM | 145 | 23-Oct-51 | single | M | H: 150,000 – 169,999 |
| 142 | Sachin | Spielberg | AMERICA | 500 | Sachin.Spielberg@GADWALL.EXAMPLE.COM | 145 | 11-Jan-71 | married | M | C: 50,000 – 69,999 |
| 163 | Ernest | Chandar | AMERICA | 900 | Ernest.Chandar@LIMPKIN.EXAMPLE.COM | 145 | 16-Dec-62 | single | M | H: 150,000 – 169,999 |
| 168 | Hema | Voight | AMERICA | 1200 | Hema.Voight@PHALAROPE.EXAMPLE.COM | 145 | 16-Mar-50 | single | M | H: 150,000 – 169,999 |
| 173 | Kathleen | Walken | AMERICA | 1200 | Kathleen.Walken@VIREO.EXAMPLE.COM | 145 | 4-Jun-73 | married | F | E: 90,000 – 109,999 |
| 178 | Grace | Belushi | AMERICA | 1200 | Grace.Belushi@KILLDEER.EXAMPLE.COM | 149 | 2-Sep-86 | married | M | H: 150,000 – 169,999 |
| 182 | Lauren | Dench | AMERICA | 1200 | Lauren.Dench@LONGSPUR.EXAMPLE.COM | 149 | 22-Oct-75 | single | M | K: 250,000 – 299,999 |
| 187 | Grace | Dvrrie | AMERICA | 1200 | Grace.Dvrrie@PHOEBE.EXAMPLE.COM | 149 | 31-Dec-48 | married | F | E: 90,000 – 109,999 |
| 212 | Luchino | Falk | AMERICA | 1500 | Luchino.Falk@OVENBIRD.EXAMPLE.COM | 149 | 25-Mar-72 | married | M | L: 300,000 and above |
| 217 | Bryan | Huston | AMERICA | 2300 | Bryan.Huston@PYRRHULOXIA.EXAMPLE.COM | 149 | 23-Jun-73 | married | F | B: 30,000 – 49,999 |
| 222 | Cary | Stockwell | AMERICA | 2300 | Cary.Stockwell@VIREO.EXAMPLE.COM | 149 | 23-Aug-63 | married | M | I: 170,000 – 189,999 |
| 226 | Ajay | Andrews | AMERICA | 2300 | Ajay.Andrews@YELLOWTHROAT.EXAMPLE.COM | 149 | 21-Oct-56 | married | M | F: 110,000 – 129,999 |
| 231 | Danny | Rourke | AMERICA | 2400 | Danny.Rourke@BRANT.EXAMPLE.COM | 145 | 31-Dec-47 | single | M | F: 110,000 – 129,999 |
| 255 | Brooke | Shepherd | AMERICA | 3500 | Brooke.Shepherd@KILLDEER.EXAMPLE.COM | 145 | 13-Feb-85 | married | M | C: 50,000 – 69,999 |
| 260 | Ellen | Khan | AMERICA | 3600 | Ellen.Khan@VERDIN.EXAMPLE.COM | 149 | 14-May-62 | married | M | F: 110,000 – 129,999 |
| 264 | George | Adjani | AMERICA | 3600 | George.Adjani@WILLET.EXAMPLE.COM | 149 | 12-Aug-47 | married | F | F: 110,000 – 129,999 |
| 269 | Kyle | Martin | AMERICA | 3700 | Kyle.Martin@EIDER.EXAMPLE.COM | 145 | 11-Oct-58 | married | F | D: 70,000 – 89,999 |
| 273 | Bo | Hitchcock | AMERICA | 5000 | Bo.Hitchcock@ANHINGA.EXAMPLE.COM | 145 | 9-Jan-54 | married | M | E: 90,000 – 109,999 |
| 339 | Marilou | Landis | ITALY | 500 | Marilou.Landis@TATTLER.EXAMPLE.COM | 147 | 13-Jan-33 | single | M | A: Below 30,000 |
| 344 | Marlon | Godard | JAPAN | 2400 | Marlon.Godard@MOORHEN.EXAMPLE.COM | 148 | 14-Mar-60 | single | M | H: 150,000 – 169,999 |
| 348 | Kelly | Lange | ITALY | 3600 | Kelly.Lange@SANDPIPER.EXAMPLE.COM | 147 | 14-May-71 | single | M | F: 110,000 – 129,999 |
| 352 | Kenneth | Redford | ITALY | 3600 | Kenneth.Redford@REDSTART.EXAMPLE.COM | 147 | 13-Jul-71 | single | F | B: 30,000 – 49,999 |
| 378 | Meg | Sen | THAILAND | 3700 | Meg.Sen@COWBIRD.EXAMPLE.COM | 149 | 30-Sep-53 | married | M | C: 50,000 – 69,999 |
| 449 | Rick | Romero | ITALY | 1500 | Rick.Romero@LONGSPUR.EXAMPLE.COM | 147 | 10-Dec-51 | single | F | B: 30,000 – 49,999 |
| 453 | Ridley | Young | INDIA | 700 | Ridley.Young@CHUKAR.EXAMPLE.COM | 148 | 10-Feb-45 | single | M | F: 110,000 – 129,999 |
| 463 | Robin | Adjani | INDIA | 1500 | Robin.Adjani@MOORHEN.EXAMPLE.COM | 148 | 1-Apr-49 | married | F | C: 50,000 – 69,999 |
| 470 | Roger | Mastroianni | INDIA | 3700 | Roger.Mastroianni@CREEPER.EXAMPLE.COM | 148 | 31-May-67 | married | M | L: 300,000 and above |
| 607 | Sharmila | Fonda | INDIA | 500 | Sharmila.Fonda@BUFFLEHEAD.EXAMPLE.COM | 148 | 6-Mar-49 | single | F | H: 150,000 – 169,999 |
| 627 | Sivaji | Gielgud | INDIA | 500 | Sivaji.Gielgud@BULBUL.EXAMPLE.COM | 148 | 25-May-49 | married | F | D: 70,000 – 89,999 |
| 715 | Malcolm | Field | ITALY | 2400 | Malcolm.Field@DOWITCHER.EXAMPLE.COM | 147 | 5-Jul-51 | single | F | G: 130,000 – 149,999 |
| 727 | Margaret | Ustinov | ITALY | 1200 | Margaret.Ustinov@ANHINGA.EXAMPLE.COM | 147 | 2-Sep-49 | single | M | H: 150,000 – 169,999 |
| 755 | Kevin | Cleveland | ITALY | 700 | Kevin.Cleveland@WILLET.EXAMPLE.COM | 147 | 21-Nov-81 | married | M | H: 150,000 – 169,999 |
oe.orders
For each order placed by a customer, various attributes are captured. There is one row per order.
| order_id | order_date | order_mode | customer_id | order_status | order_total | sales_rep_id | promotion_id |
|---|---|---|---|---|---|---|---|
| 2458 | 16-AUG-07 03.34.12.234359 PM | direct | 101 | 0 | 78279.6 | 153 | – |
| 2397 | 19-NOV-07 02.41.54.696211 PM | direct | 102 | 1 | 42283.2 | 154 | – |
| 2454 | 02-OCT-07 05.49.34.678340 PM | direct | 103 | 1 | 6653.4 | 154 | – |
| 2354 | 14-JUL-08 06.18.23.234567 PM | direct | 104 | 0 | 46257 | 155 | – |
| 2358 | 08-JAN-08 05.03.12.654278 PM | direct | 105 | 2 | 7826 | 155 | – |
| 2381 | 14-MAY-08 08.59.08.843679 PM | direct | 106 | 3 | 23034.6 | 156 | – |
| 2440 | 31-AUG-07 09.53.06.008765 PM | direct | 107 | 3 | 70576.9 | 156 | – |
| 2357 | 08-JAN-06 08.19.44.123456 PM | direct | 108 | 5 | 59872.4 | 158 | – |
| 2394 | 10-FEB-08 09.22.35.564789 PM | direct | 109 | 5 | 21863 | 158 | – |
| 2435 | 02-SEP-07 11.22.53.134567 PM | direct | 144 | 6 | 62303 | 159 | – |
| 2455 | 20-SEP-07 11.34.11.456789 AM | direct | 145 | 7 | 14087.5 | 160 | – |
| 2379 | 16-MAY-07 02.22.24.234567 AM | direct | 146 | 8 | 17848.2 | 161 | – |
| 2396 | 02-FEB-06 01.34.56.345678 AM | direct | 147 | 8 | 34930 | 161 | – |
| 2406 | 29-JUN-07 04.41.20.098765 AM | direct | 148 | 8 | 2854.2 | 161 | – |
| 2434 | 13-SEP-07 05.49.30.647893 AM | direct | 149 | 8 | 268651.8 | 161 | – |
| 2436 | 02-SEP-07 06.18.04.378034 AM | direct | 116 | 8 | 6394.8 | 161 | – |
| 2446 | 27-JUL-07 07.03.08.302945 AM | direct | 117 | 8 | 103679.3 | 161 | – |
| 2447 | 27-JUL-08 08.59.10.223344 AM | direct | 101 | 8 | 33893.6 | 161 | – |
| 2432 | 14-SEP-07 09.53.40.223345 AM | direct | 102 | 10 | 10523 | 163 | – |
| 2433 | 13-SEP-07 10.19.00.654279 AM | direct | 103 | 10 | 78 | 163 | – |
| 2355 | 26-JAN-06 09.22.51.962632 AM | online | 104 | 8 | 94513.5 | – | – |
| 2356 | 26-JAN-08 09.22.41.934562 AM | online | 105 | 5 | 29473.8 | – | – |
| 2359 | 08-JAN-06 09.34.13.112233 PM | online | 106 | 9 | 5543.1 | – | – |
| 2360 | 14-NOV-07 12.22.31.223344 PM | online | 107 | 4 | 990.4 | – | – |
| 2361 | 13-NOV-07 01.34.21.986210 PM | online | 108 | 8 | 120131.3 | – | – |
| 2362 | 13-NOV-07 02.41.10.619477 PM | online | 109 | 4 | 92829.4 | – | – |
| 2363 | 23-OCT-07 05.49.56.346122 PM | online | 144 | 0 | 10082.3 | – | – |
| 2364 | 28-AUG-07 06.18.45.942399 PM | online | 145 | 4 | 9500 | – | – |
| 2365 | 28-AUG-07 07.03.34.003399 PM | online | 146 | 9 | 27455.3 | – | – |
| 2366 | 28-AUG-07 08.59.23.144778 PM | online | 147 | 5 | 37319.4 | – | – |
| 2367 | 27-JUN-08 09.53.32.335522 PM | online | 148 | 10 | 144054.8 | – | – |
| 2368 | 26-JUN-08 10.19.43.190089 PM | online | 149 | 10 | 60065 | – | – |
| 2369 | 26-JUN-07 11.22.54.009932 PM | online | 116 | 0 | 11097.4 | – | – |
| 2370 | 27-JUN-08 12.22.11.647398 AM | online | 117 | 4 | 126 | – | – |
| 2371 | 16-MAY-07 01.34.56.113356 AM | online | 118 | 6 | 79405.6 | – | – |
| 2372 | 27-FEB-07 12.22.33.356789 AM | online | 119 | 9 | 16447.2 | – | – |
| 2373 | 27-FEB-08 01.34.51.220065 AM | online | 120 | 4 | 416 | – | – |
| 2374 | 27-FEB-08 02.41.45.109654 AM | online | 121 | 0 | 4797 | – | – |
| 2375 | 26-FEB-07 03.49.50.459233 AM | online | 122 | 2 | 103834.4 | – | – |
| 2376 | 07-JUN-07 06.18.08.883310 AM | online | 123 | 6 | 11006.2 | – | – |
| 2377 | 07-JUN-07 07.03.01.001100 AM | online | 141 | 5 | 38017.8 | – | – |
| 2378 | 24-MAY-07 08.59.10.010101 AM | online | 142 | 5 | 25691.3 | – | – |
| 2380 | 16-MAY-07 09.53.02.909090 AM | online | 143 | 3 | 27132.6 | – | – |
| 2382 | 14-MAY-08 10.19.03.828321 AM | online | 144 | 8 | 71173 | – | – |
| 2383 | 12-MAY-08 11.22.30.545103 AM | online | 145 | 8 | 36374.7 | – | – |
| 2384 | 12-MAY-08 12.22.34.525972 PM | online | 146 | 3 | 29249.1 | – | – |
| 2385 | 08-DEC-07 11.34.11.331392 AM | online | 147 | 4 | 295892 | – | – |
| 2386 | 06-DEC-07 12.22.34.225609 PM | online | 148 | 10 | 21116.9 | – | – |
| 2387 | 11-MAR-07 03.34.56.536966 PM | online | 149 | 5 | 52758.9 | – | – |
| 2388 | 04-JUN-07 04.41.12.554435 PM | online | 150 | 4 | 282694.3 | – | – |
| 2389 | 04-JUN-08 05.49.43.546954 PM | online | 151 | 4 | 17620 | – | – |
| 2390 | 18-NOV-07 04.18.50.546851 PM | online | 152 | 9 | 7616.8 | – | – |
| 2391 | 27-FEB-06 05.03.03.828330 PM | direct | 153 | 2 | 48070.6 | 156 | – |
| 2392 | 21-JUL-07 08.59.57.571057 PM | direct | 154 | 9 | 26632 | 161 | – |
| 2393 | 10-FEB-08 07.53.19.528202 PM | direct | 155 | 4 | 23431.9 | 161 | – |
| 2395 | 02-FEB-06 08.19.11.227550 PM | direct | 156 | 3 | 68501 | 163 | – |
| 2398 | 19-NOV-07 09.22.53.224175 PM | direct | 157 | 9 | 7110.3 | 163 | – |
| 2399 | 19-NOV-07 10.22.38.340990 PM | direct | 158 | 0 | 25270.3 | 161 | – |
| 2400 | 10-JUL-07 01.34.29.559387 AM | direct | 159 | 2 | 69286.4 | 161 | – |
| 2401 | 10-JUL-07 02.22.53.554822 AM | direct | 160 | 3 | 969.2 | 163 | – |
| 2402 | 02-JUL-07 03.34.44.665170 AM | direct | 161 | 8 | 600 | 154 | – |
| 2403 | 01-JUL-07 04.49.13.615512 PM | direct | 162 | 0 | 220 | 154 | – |
| 2404 | 01-JUL-07 04.49.13.664085 PM | direct | 163 | 6 | 510 | 158 | – |
| 2405 | 01-JUL-07 04.49.13.678123 PM | direct | 164 | 5 | 1233 | 159 | – |
| 2407 | 29-JUN-07 07.03.21.526005 AM | direct | 165 | 9 | 2519 | 155 | – |
| 2408 | 29-JUN-07 08.59.31.333617 AM | direct | 166 | 1 | 309 | 158 | – |
| 2409 | 29-JUN-07 09.53.41.984501 AM | direct | 167 | 2 | 48 | 154 | – |
| 2410 | 24-MAY-08 10.19.51.985501 AM | direct | 168 | 6 | 45175 | 156 | – |
| 2411 | 24-MAY-07 11.22.10.548639 AM | direct | 169 | 8 | 15760.5 | 156 | – |
| 2412 | 29-MAR-06 10.22.09.509801 AM | direct | 170 | 9 | 66816 | 158 | – |
| 2413 | 29-MAR-08 01.34.04.525934 PM | direct | 101 | 5 | 48552 | 161 | – |
| 2414 | 29-MAR-07 02.22.40.536996 PM | direct | 102 | 8 | 10794.6 | 153 | – |
| 2415 | 29-MAR-06 01.34.50.545196 PM | direct | 103 | 6 | 310 | 161 | – |
| 2416 | 29-MAR-07 04.41.20.945676 PM | direct | 104 | 6 | 384 | 160 | – |
| 2417 | 20-MAR-07 05.49.10.974352 PM | direct | 105 | 5 | 1926.6 | 163 | – |
| 2418 | 20-MAR-04 04.18.21.862632 PM | direct | 106 | 4 | 5546.6 | 163 | – |
| 2419 | 20-MAR-07 07.03.32.764632 PM | direct | 107 | 3 | 31574 | 160 | – |
| 2420 | 13-MAR-07 08.59.43.666320 PM | direct | 108 | 2 | 29750 | 160 | – |
| 2421 | 12-MAR-07 09.53.54.562432 PM | direct | 109 | 1 | 72836 | – | – |
| 2422 | 16-DEC-07 08.19.55.462332 PM | direct | 144 | 2 | 11188.5 | 153 | – |
| 2423 | 21-NOV-07 10.22.33.362632 AM | direct | 145 | 3 | 10367.7 | 160 | – |
| 2424 | 21-NOV-07 10.22.33.263332 AM | direct | 146 | 4 | 13824 | 153 | – |
| 2425 | 16-NOV-06 11.34.22.162552 PM | direct | 147 | 5 | 1500.8 | 163 | – |
| 2426 | 17-NOV-06 12.22.11.262552 AM | direct | 148 | 6 | 7200 | – | – |
| 2427 | 10-NOV-07 01.34.22.362124 AM | direct | 149 | 7 | 9055 | 163 | – |
| 2428 | 10-NOV-07 02.41.34.463567 AM | direct | 116 | 8 | 14685.8 | – | – |
| 2429 | 10-NOV-07 03.49.25.526321 AM | direct | 117 | 9 | 50125 | 154 | – |
| 2430 | 02-OCT-07 06.18.36.663332 AM | direct | 101 | 8 | 29669.9 | 159 | – |
| 2431 | 14-SEP-06 07.03.04.763452 AM | direct | 102 | 1 | 5610.6 | 163 | – |
| 2437 | 01-SEP-06 08.59.15.826132 AM | direct | 103 | 4 | 13550 | 163 | – |
| 2438 | 01-SEP-07 09.53.26.934626 AM | direct | 104 | 0 | 5451 | 154 | – |
| 2439 | 31-AUG-07 10.19.37.811132 AM | direct | 105 | 1 | 22150.1 | 159 | – |
| 2441 | 01-AUG-08 11.22.48.734526 AM | direct | 106 | 5 | 2075.2 | 160 | – |
| 2442 | 27-JUL-06 12.22.59.662632 PM | direct | 107 | 9 | 52471.9 | 154 | – |
| 2443 | 27-JUL-06 01.34.16.562632 PM | direct | 108 | 0 | 3646 | 154 | – |
| 2444 | 27-JUL-07 02.22.27.462632 PM | direct | 109 | 1 | 77727.2 | 155 | – |
| 2445 | 27-JUL-06 03.34.38.362632 PM | direct | 144 | 8 | 5537.8 | 158 | – |
| 2448 | 18-JUN-07 04.41.49.262632 PM | direct | 145 | 5 | 1388 | 158 | – |
| 2449 | 13-JUN-07 05.49.07.162632 PM | direct | 146 | 6 | 86 | 155 | – |
| 2450 | 11-APR-07 06.18.10.362632 PM | direct | 147 | 3 | 1636 | 159 | – |
| 2451 | 17-DEC-07 05.03.52.562632 PM | direct | 148 | 7 | 10474.6 | 154 | – |
| 2452 | 06-OCT-07 08.59.43.462632 PM | direct | 149 | 5 | 12589 | 159 | – |
| 2453 | 04-OCT-07 09.53.34.362632 PM | direct | 116 | 0 | 129 | 153 | – |
| 2456 | 07-NOV-06 07.53.25.989889 PM | direct | 117 | 0 | 3878.4 | 163 | – |
| 2457 | 31-OCT-07 11.22.16.162632 PM | direct | 118 | 5 | 21586.2 | 159 | – |
Simple CASE Expressions
This case expression form allows users little flexibility in terms of the expressions used and the condition being evaluated. The simple case expression allows users to compare an expression to another expression in terms of equality. The syntax can be found below.
CASE expression_1
WHEN comparison_expression_1
THEN returned_expression_1
WHEN comparison_expression_2
THEN returned_expression_2
ELSE catch_all_expression
END AS attribute_alias
expression_1 represents a value for a specific row for a specific pre-existing attribute. comparison_expression_1 represents the value for which expression_1 is compared. If expression_1 equals comparison_expression_1, then returned_expression_1 is returned for the row. If the condition captured in the first WHEN and comparison_expression pair does not evaluate to TRUE, then expression_1 is compared to the expression following the subsequent WHEN. In the code above, that is comparison_expression_2. This process continues for each specified WHEN and comparison_expression pair. If none of the specified pairs evaluate to TRUE, then NULL is returned, by default. This default behavior can be overridden by explicitly stating a catch_all_expression preceded by the ELSE keyword.
Let us put this simple case expression to work. Suppose the data stored for each customer contains a gender attribute specifying the customer’s gender. Currently, the possible values are M, F, and NULL; however, for the purposes of generating a report containing the number of customers per unique gender value, you would like to replace the values with Male, Female, and Not Specified, respectively. Using a simple case expression, each row’s gender value can be compared to a specific value for equality. When the two values are equal, the corresponding value following the THEN keyword replaces the original. For example, when a row’s gender value is “M,” then the value returned is “Male.” For clarity, see the code and corresponding output below.
SELECT
CASE oe.customers.gender
WHEN 'M'
THEN 'Male'
WHEN 'F'
THEN 'Female'
ELSE 'Not Specified'
END AS gender,
COUNT(*) AS customer_count
FROM
oe.customers
GROUP BY
CASE oe.customers.gender
WHEN 'M'
THEN 'Male'
WHEN 'F'
THEN 'Female'
ELSE 'Not Specified'
END;
| gender | customer_count |
|---|---|
| Male | 209 |
| Female | 110 |
Searched CASE Expressions
I can count on both hands the number of times I have made use of simple case expressions to solve real-world problems. I tend to use searched case expressions out of habit and necessity. Searched case expressions provide users more flexibility in terms of developing conditional logic. Each WHEN…THEN branch can contain a wide-variety of comparison operators, including, among others, =, !=, >, >=, and <=. Additionally, each branch can contain expressions other than pre-existing attributes and constants. Review the syntax for searched case expressions below, and then let dive into a few real-world problems.
CASE
WHEN condition_1
THEN returned_expression_1
WHEN condition_2
THEN returned_expression_2
ELSE catch_all_expression
END AS attribute_alias
For the first real-world problem, consider the classic programming problem where the goal is to programmatically classify integer values as even or odd. In the code below, a recursive common table expression is used to generate the integer values one through ten. Subsequently, a searched case expression consisting of two branches is used to capture whether the integer value is even or odd. The first branch is responsible for determining if the integer is even and the second used to return a catch-all value of “odd” when the first branch’s condition evaluates to FALSE. In the first branch, the MOD function is used to calculate the remainder when each integer value is divided by two. If the remainder is zero, then the value must be even. If the value is not even, then it must be odd. Hence, the ELSE keyword being followed by the catch-all value of “odd.”
WITH integer_sequence (integer_value) AS (
SELECT
1 AS integer_value
FROM
dual
UNION ALL
SELECT
integer_value + 1
FROM
integer_sequence
WHERE
integer_sequence.integer_value < 10
)
SELECT
integer_sequence.integer_value,
CASE
WHEN MOD(integer_sequence.integer_value, 2) = 0
THEN 'Even'
WHEN MOD(integer_sequence.integer_value, 2) = 1
THEN 'Odd'
ELSE 'N/A'
END AS number_category
FROM
integer_sequence;
| integer_value | number_category |
|---|---|
| 1 | Odd |
| 2 | Even |
| 3 | Odd |
| 4 | Even |
| 5 | Odd |
| 6 | Even |
| 7 | Odd |
| 8 | Even |
| 9 | Odd |
| 10 | Even |
If you are unfamiliar with the concept of recursion and how it can be used to solve other, real-world problems, then consider reading my page dedicated to recursion here.
Despite the problem above being a classic, it may not ring “real-world” to you. Let us explore another real-world problem that undoubtedly sufficiently highlights the usefulness of CASE expressions.
Suppose you are tasked with generating a report containing the details corresponding to each order. The necessary attributes are order ID, order date, order mode, customer ID, order status, and order total. In addition to those attributes, you are required to include an attribute categorizing each order based on the order total value and the range the value falls within. Management has provided the following ranges:
0-10k
10-25k
25-50k
50-75k
75-100k
100k+
A searched case expression can be used to categorize each order total value into one of the ranges above. In the code below, each order total value is compared against constant values (e.g., 10000, 25000, etc.) serving as non-inclusive cutoffs. For example, if the order total is less than $10,000, then the order total category value for the specific order will read as “0-10k.” If the order total value is not less than $10,000, then the first WHEN branch will evaluate to FALSE and the categorization process will continue to each subsequent branch until one of the WHEN branches evaluates to TRUE or the ELSE branch is reached and the order total category takes on the catch-all value of “100k+.” Keep in mind the branches are evaluated in the order they are written, so it is important to order the branches in a sensible way. In this scenario, to avoid categorizing an order total value incorrectly, ensure the constant values across the branches are in ascending or descending order.
SELECT
oe.orders.order_id,
oe.orders.order_date,
oe.orders.order_mode,
oe.orders.customer_id,
oe.orders.order_status,
oe.orders.order_total,
CASE
WHEN oe.orders.order_total < 10000
THEN '0-10k'
WHEN oe.orders.order_total < 25000
THEN '10-25k'
WHEN oe.orders.order_total < 50000
THEN '25-50k'
WHEN oe.orders.order_total < 75000
THEN '50-75k'
WHEN oe.orders.order_total < 100000
THEN '75-100k'
ELSE '100k+'
END AS order_total_category
FROM
oe.orders;
| order_id | order_date | order_mode | customer_id | order_status | order_total | order_total_category |
|---|---|---|---|---|---|---|
| 2458 | 16-AUG-07 03.34.12.234359 PM | direct | 101 | 0 | 78279.6 | 75-100k |
| 2397 | 19-NOV-07 02.41.54.696211 PM | direct | 102 | 1 | 42283.2 | 25-50k |
| 2454 | 02-OCT-07 05.49.34.678340 PM | direct | 103 | 1 | 6653.4 | 0-10k |
| 2354 | 14-JUL-08 06.18.23.234567 PM | direct | 104 | 0 | 46257 | 25-50k |
| 2358 | 08-JAN-08 05.03.12.654278 PM | direct | 105 | 2 | 7826 | 0-10k |
| 2381 | 14-MAY-08 08.59.08.843679 PM | direct | 106 | 3 | 23034.6 | 10-25k |
| 2440 | 31-AUG-07 09.53.06.008765 PM | direct | 107 | 3 | 70576.9 | 50-75k |
| 2357 | 08-JAN-06 08.19.44.123456 PM | direct | 108 | 5 | 59872.4 | 50-75k |
| 2394 | 10-FEB-08 09.22.35.564789 PM | direct | 109 | 5 | 21863 | 10-25k |
| 2435 | 02-SEP-07 11.22.53.134567 PM | direct | 144 | 6 | 62303 | 50-75k |
| 2455 | 20-SEP-07 11.34.11.456789 AM | direct | 145 | 7 | 14087.5 | 10-25k |
| 2379 | 16-MAY-07 02.22.24.234567 AM | direct | 146 | 8 | 17848.2 | 10-25k |
| 2396 | 02-FEB-06 01.34.56.345678 AM | direct | 147 | 8 | 34930 | 25-50k |
| 2406 | 29-JUN-07 04.41.20.098765 AM | direct | 148 | 8 | 2854.2 | 0-10k |
| 2434 | 13-SEP-07 05.49.30.647893 AM | direct | 149 | 8 | 268651.8 | 100k+ |
| 2436 | 02-SEP-07 06.18.04.378034 AM | direct | 116 | 8 | 6394.8 | 0-10k |
| 2446 | 27-JUL-07 07.03.08.302945 AM | direct | 117 | 8 | 103679.3 | 100k+ |
| 2447 | 27-JUL-08 08.59.10.223344 AM | direct | 101 | 8 | 33893.6 | 25-50k |
| 2432 | 14-SEP-07 09.53.40.223345 AM | direct | 102 | 10 | 10523 | 10-25k |
| 2433 | 13-SEP-07 10.19.00.654279 AM | direct | 103 | 10 | 78 | 0-10k |
| 2355 | 26-JAN-06 09.22.51.962632 AM | online | 104 | 8 | 94513.5 | 75-100k |
| 2356 | 26-JAN-08 09.22.41.934562 AM | online | 105 | 5 | 29473.8 | 25-50k |
| 2359 | 08-JAN-06 09.34.13.112233 PM | online | 106 | 9 | 5543.1 | 0-10k |
| 2360 | 14-NOV-07 12.22.31.223344 PM | online | 107 | 4 | 990.4 | 0-10k |
| 2361 | 13-NOV-07 01.34.21.986210 PM | online | 108 | 8 | 120131.3 | 100k+ |
| 2362 | 13-NOV-07 02.41.10.619477 PM | online | 109 | 4 | 92829.4 | 75-100k |
| 2363 | 23-OCT-07 05.49.56.346122 PM | online | 144 | 0 | 10082.3 | 10-25k |
| 2364 | 28-AUG-07 06.18.45.942399 PM | online | 145 | 4 | 9500 | 0-10k |
| 2365 | 28-AUG-07 07.03.34.003399 PM | online | 146 | 9 | 27455.3 | 25-50k |
| 2366 | 28-AUG-07 08.59.23.144778 PM | online | 147 | 5 | 37319.4 | 25-50k |
| 2367 | 27-JUN-08 09.53.32.335522 PM | online | 148 | 10 | 144054.8 | 100k+ |
| 2368 | 26-JUN-08 10.19.43.190089 PM | online | 149 | 10 | 60065 | 50-75k |
| 2369 | 26-JUN-07 11.22.54.009932 PM | online | 116 | 0 | 11097.4 | 10-25k |
| 2370 | 27-JUN-08 12.22.11.647398 AM | online | 117 | 4 | 126 | 0-10k |
| 2371 | 16-MAY-07 01.34.56.113356 AM | online | 118 | 6 | 79405.6 | 75-100k |
| 2372 | 27-FEB-07 12.22.33.356789 AM | online | 119 | 9 | 16447.2 | 10-25k |
| 2373 | 27-FEB-08 01.34.51.220065 AM | online | 120 | 4 | 416 | 0-10k |
| 2374 | 27-FEB-08 02.41.45.109654 AM | online | 121 | 0 | 4797 | 0-10k |
| 2375 | 26-FEB-07 03.49.50.459233 AM | online | 122 | 2 | 103834.4 | 100k+ |
| 2376 | 07-JUN-07 06.18.08.883310 AM | online | 123 | 6 | 11006.2 | 10-25k |
| 2377 | 07-JUN-07 07.03.01.001100 AM | online | 141 | 5 | 38017.8 | 25-50k |
| 2378 | 24-MAY-07 08.59.10.010101 AM | online | 142 | 5 | 25691.3 | 25-50k |
| 2380 | 16-MAY-07 09.53.02.909090 AM | online | 143 | 3 | 27132.6 | 25-50k |
| 2382 | 14-MAY-08 10.19.03.828321 AM | online | 144 | 8 | 71173 | 50-75k |
| 2383 | 12-MAY-08 11.22.30.545103 AM | online | 145 | 8 | 36374.7 | 25-50k |
| 2384 | 12-MAY-08 12.22.34.525972 PM | online | 146 | 3 | 29249.1 | 25-50k |
| 2385 | 08-DEC-07 11.34.11.331392 AM | online | 147 | 4 | 295892 | 100k+ |
| 2386 | 06-DEC-07 12.22.34.225609 PM | online | 148 | 10 | 21116.9 | 10-25k |
| 2387 | 11-MAR-07 03.34.56.536966 PM | online | 149 | 5 | 52758.9 | 50-75k |
| 2388 | 04-JUN-07 04.41.12.554435 PM | online | 150 | 4 | 282694.3 | 100k+ |
| 2389 | 04-JUN-08 05.49.43.546954 PM | online | 151 | 4 | 17620 | 10-25k |
| 2390 | 18-NOV-07 04.18.50.546851 PM | online | 152 | 9 | 7616.8 | 0-10k |
| 2391 | 27-FEB-06 05.03.03.828330 PM | direct | 153 | 2 | 48070.6 | 25-50k |
| 2392 | 21-JUL-07 08.59.57.571057 PM | direct | 154 | 9 | 26632 | 25-50k |
| 2393 | 10-FEB-08 07.53.19.528202 PM | direct | 155 | 4 | 23431.9 | 10-25k |
| 2395 | 02-FEB-06 08.19.11.227550 PM | direct | 156 | 3 | 68501 | 50-75k |
| 2398 | 19-NOV-07 09.22.53.224175 PM | direct | 157 | 9 | 7110.3 | 0-10k |
| 2399 | 19-NOV-07 10.22.38.340990 PM | direct | 158 | 0 | 25270.3 | 25-50k |
| 2400 | 10-JUL-07 01.34.29.559387 AM | direct | 159 | 2 | 69286.4 | 50-75k |
| 2401 | 10-JUL-07 02.22.53.554822 AM | direct | 160 | 3 | 969.2 | 0-10k |
| 2402 | 02-JUL-07 03.34.44.665170 AM | direct | 161 | 8 | 600 | 0-10k |
| 2403 | 01-JUL-07 04.49.13.615512 PM | direct | 162 | 0 | 220 | 0-10k |
| 2404 | 01-JUL-07 04.49.13.664085 PM | direct | 163 | 6 | 510 | 0-10k |
| 2405 | 01-JUL-07 04.49.13.678123 PM | direct | 164 | 5 | 1233 | 0-10k |
| 2407 | 29-JUN-07 07.03.21.526005 AM | direct | 165 | 9 | 2519 | 0-10k |
| 2408 | 29-JUN-07 08.59.31.333617 AM | direct | 166 | 1 | 309 | 0-10k |
| 2409 | 29-JUN-07 09.53.41.984501 AM | direct | 167 | 2 | 48 | 0-10k |
| 2410 | 24-MAY-08 10.19.51.985501 AM | direct | 168 | 6 | 45175 | 25-50k |
| 2411 | 24-MAY-07 11.22.10.548639 AM | direct | 169 | 8 | 15760.5 | 10-25k |
| 2412 | 29-MAR-06 10.22.09.509801 AM | direct | 170 | 9 | 66816 | 50-75k |
| 2413 | 29-MAR-08 01.34.04.525934 PM | direct | 101 | 5 | 48552 | 25-50k |
| 2414 | 29-MAR-07 02.22.40.536996 PM | direct | 102 | 8 | 10794.6 | 10-25k |
| 2415 | 29-MAR-06 01.34.50.545196 PM | direct | 103 | 6 | 310 | 0-10k |
| 2416 | 29-MAR-07 04.41.20.945676 PM | direct | 104 | 6 | 384 | 0-10k |
| 2417 | 20-MAR-07 05.49.10.974352 PM | direct | 105 | 5 | 1926.6 | 0-10k |
| 2418 | 20-MAR-04 04.18.21.862632 PM | direct | 106 | 4 | 5546.6 | 0-10k |
| 2419 | 20-MAR-07 07.03.32.764632 PM | direct | 107 | 3 | 31574 | 25-50k |
| 2420 | 13-MAR-07 08.59.43.666320 PM | direct | 108 | 2 | 29750 | 25-50k |
| 2421 | 12-MAR-07 09.53.54.562432 PM | direct | 109 | 1 | 72836 | 50-75k |
| 2422 | 16-DEC-07 08.19.55.462332 PM | direct | 144 | 2 | 11188.5 | 10-25k |
| 2423 | 21-NOV-07 10.22.33.362632 AM | direct | 145 | 3 | 10367.7 | 10-25k |
| 2424 | 21-NOV-07 10.22.33.263332 AM | direct | 146 | 4 | 13824 | 10-25k |
| 2425 | 16-NOV-06 11.34.22.162552 PM | direct | 147 | 5 | 1500.8 | 0-10k |
| 2426 | 17-NOV-06 12.22.11.262552 AM | direct | 148 | 6 | 7200 | 0-10k |
| 2427 | 10-NOV-07 01.34.22.362124 AM | direct | 149 | 7 | 9055 | 0-10k |
| 2428 | 10-NOV-07 02.41.34.463567 AM | direct | 116 | 8 | 14685.8 | 10-25k |
| 2429 | 10-NOV-07 03.49.25.526321 AM | direct | 117 | 9 | 50125 | 50-75k |
| 2430 | 02-OCT-07 06.18.36.663332 AM | direct | 101 | 8 | 29669.9 | 25-50k |
| 2431 | 14-SEP-06 07.03.04.763452 AM | direct | 102 | 1 | 5610.6 | 0-10k |
| 2437 | 01-SEP-06 08.59.15.826132 AM | direct | 103 | 4 | 13550 | 10-25k |
| 2438 | 01-SEP-07 09.53.26.934626 AM | direct | 104 | 0 | 5451 | 0-10k |
| 2439 | 31-AUG-07 10.19.37.811132 AM | direct | 105 | 1 | 22150.1 | 10-25k |
| 2441 | 01-AUG-08 11.22.48.734526 AM | direct | 106 | 5 | 2075.2 | 0-10k |
| 2442 | 27-JUL-06 12.22.59.662632 PM | direct | 107 | 9 | 52471.9 | 50-75k |
| 2443 | 27-JUL-06 01.34.16.562632 PM | direct | 108 | 0 | 3646 | 0-10k |
| 2444 | 27-JUL-07 02.22.27.462632 PM | direct | 109 | 1 | 77727.2 | 75-100k |
| 2445 | 27-JUL-06 03.34.38.362632 PM | direct | 144 | 8 | 5537.8 | 0-10k |
| 2448 | 18-JUN-07 04.41.49.262632 PM | direct | 145 | 5 | 1388 | 0-10k |
| 2449 | 13-JUN-07 05.49.07.162632 PM | direct | 146 | 6 | 86 | 0-10k |
| 2450 | 11-APR-07 06.18.10.362632 PM | direct | 147 | 3 | 1636 | 0-10k |
| 2451 | 17-DEC-07 05.03.52.562632 PM | direct | 148 | 7 | 10474.6 | 10-25k |
| 2452 | 06-OCT-07 08.59.43.462632 PM | direct | 149 | 5 | 12589 | 10-25k |
| 2453 | 04-OCT-07 09.53.34.362632 PM | direct | 116 | 0 | 129 | 0-10k |
| 2456 | 07-NOV-06 07.53.25.989889 PM | direct | 117 | 0 | 3878.4 | 0-10k |
| 2457 | 31-OCT-07 11.22.16.162632 PM | direct | 118 | 5 | 21586.2 | 10-25k |
For the final real-world problem, I want to highlight how CASE expressions can be used with aggregate functions to perform a powerful transformation commonly known as pivoting rows to attributes or columns. Using the orders table, suppose you are tasked with generating a report containing one row per customer. Within each row, the corresponding customer’s order total values need to be bucketed into the same order total categories specified in the previous problem; however, this report requires the order total category values to be represented as attributes or columns (e.g., 0-10k, 10-25k, etc.). The values within the corresponding row and column are to represent the number of orders the customer placed within the corresponding order total category. For clarity, you are attempting to generate the output below. The first row reads as, “customer ID 107 placed one order in the 0-10k range, zero in 10-25k range, one in the 25-50k range, two in the 50-75k range, zero in the 75-100k range, and zero in the 100k+ range.” Review the output below and then let us take a look at the code required to generate the desired output.
| customer_id | 0-10k | 10-25k | 25-50k | 50-75k | 75-100k | 100k+ |
|---|---|---|---|---|---|---|
| 107 | 1 | 0 | 1 | 2 | 0 | 0 |
| 108 | 1 | 0 | 1 | 1 | 0 | 1 |
| 158 | 0 | 0 | 1 | 0 | 0 | 0 |
| 161 | 1 | 0 | 0 | 0 | 0 | 0 |
| 166 | 1 | 0 | 0 | 0 | 0 | 0 |
| 105 | 2 | 1 | 1 | 0 | 0 | 0 |
| 109 | 0 | 1 | 0 | 1 | 2 | 0 |
| 143 | 0 | 0 | 1 | 0 | 0 | 0 |
| 159 | 0 | 0 | 0 | 1 | 0 | 0 |
| 162 | 1 | 0 | 0 | 0 | 0 | 0 |
| 163 | 1 | 0 | 0 | 0 | 0 | 0 |
| 168 | 0 | 0 | 1 | 0 | 0 | 0 |
| 104 | 2 | 0 | 1 | 0 | 1 | 0 |
| 118 | 0 | 1 | 0 | 0 | 1 | 0 |
| 145 | 2 | 2 | 1 | 0 | 0 | 0 |
| 121 | 1 | 0 | 0 | 0 | 0 | 0 |
| 141 | 0 | 0 | 1 | 0 | 0 | 0 |
| 155 | 0 | 1 | 0 | 0 | 0 | 0 |
| 101 | 0 | 0 | 3 | 0 | 1 | 0 |
| 103 | 3 | 1 | 0 | 0 | 0 | 0 |
| 116 | 2 | 2 | 0 | 0 | 0 | 0 |
| 120 | 1 | 0 | 0 | 0 | 0 | 0 |
| 142 | 0 | 0 | 1 | 0 | 0 | 0 |
| 151 | 0 | 1 | 0 | 0 | 0 | 0 |
| 156 | 0 | 0 | 0 | 1 | 0 | 0 |
| 157 | 1 | 0 | 0 | 0 | 0 | 0 |
| 169 | 0 | 1 | 0 | 0 | 0 | 0 |
| 146 | 1 | 2 | 2 | 0 | 0 | 0 |
| 148 | 2 | 2 | 0 | 0 | 0 | 1 |
| 149 | 1 | 1 | 0 | 2 | 0 | 1 |
| 122 | 0 | 0 | 0 | 0 | 0 | 1 |
| 152 | 1 | 0 | 0 | 0 | 0 | 0 |
| 170 | 0 | 0 | 0 | 1 | 0 | 0 |
| 144 | 1 | 2 | 0 | 2 | 0 | 0 |
| 119 | 0 | 1 | 0 | 0 | 0 | 0 |
| 153 | 0 | 0 | 1 | 0 | 0 | 0 |
| 164 | 1 | 0 | 0 | 0 | 0 | 0 |
| 167 | 1 | 0 | 0 | 0 | 0 | 0 |
| 102 | 1 | 2 | 1 | 0 | 0 | 0 |
| 106 | 3 | 1 | 0 | 0 | 0 | 0 |
| 147 | 2 | 0 | 2 | 0 | 0 | 1 |
| 117 | 2 | 0 | 0 | 1 | 0 | 1 |
| 123 | 0 | 1 | 0 | 0 | 0 | 0 |
| 150 | 0 | 0 | 0 | 0 | 0 | 1 |
| 154 | 0 | 0 | 1 | 0 | 0 | 0 |
| 160 | 1 | 0 | 0 | 0 | 0 | 0 |
| 165 | 1 | 0 | 0 | 0 | 0 | 0 |
In the code below, the GROUP BY clause groups each customer’s orders. From these groups, the customer ID value is selected as the single non-aggregate attribute in the SELECT clause. The remainder are derived attributes making use of the SUM function. Each of these derived attributes include a CASE expression nested within to determine the number of orders the corresponding customer placed falling within a specific order total category. The CASE expression’s conditions are evaluated on each of the rows or orders corresponding to each customer (i.e., the grouped rows). For each order meeting the condition specified in the initial WHEN branch, a value of one is recorded. Otherwise, a zero is recorded. After evaluating the CASE expression’s conditions for each of the customer’s orders, the individual results are summed up. This sum represents the total number of orders the customer placed within the order total category represented by the attribute’s alias (e.g., 0-10k) and driven by the conditions evaluated in the CASE expression.
SELECT
oe.orders.customer_id,
SUM(
CASE
WHEN oe.orders.order_total < 10000
THEN 1
ELSE 0
END
) AS "0-10k",
SUM(
CASE
WHEN oe.orders.order_total >= 10000
AND oe.orders.order_total < 25000
THEN 1
ELSE 0
END
) AS "10-25k",
SUM(
CASE
WHEN oe.orders.order_total >= 25000
AND oe.orders.order_total < 50000
THEN 1
ELSE 0
END
) AS "25-50k",
SUM(
CASE
WHEN oe.orders.order_total >= 50000
AND oe.orders.order_total < 75000
THEN 1
ELSE 0
END
) AS "50-75k",
SUM(
CASE
WHEN oe.orders.order_total >= 75000
AND oe.orders.order_total < 100000
THEN 1
ELSE 0
END
) AS "75-100k",
SUM(
CASE
WHEN oe.orders.order_total >= 100000
THEN 1
ELSE 0
END
) AS "100k+"
FROM
oe.orders
GROUP BY
oe.orders.customer_id;
If you are interested in seeing the role CASE expressions can play when creating data visualizations, consider checking out a brief example on my Tableau Public page here.
Rewriting Simple CASE Expressions
Any simple case expression can be rewritten as a searched case expression, including the one featured in the first example on this page. The equivalent can be found below.
CASE
WHEN oe.customers.gender = 'M'
THEN 'Male'
WHEN oe.customers.gender = 'F'
THEN 'Female'
ELSE 'Not Specified'
END AS gender
Additionally, some searched case expressions can be rewritten as simple case expressions, including the one used in a previous example above to classify integers as odd or even. The equivalent can be found below.
CASE MOD(integer_sequence.integer_value, 2)
WHEN 0
THEN 'Even'
WHEN 1
THEN 'Odd'
ELSE 'N/A'
END AS number_category
Short-circuit Evaluation
For both types of CASE expressions, it is important to keep in mind the branches are traversed in the order they are written. When you are building a CASE expression consisting of multiple branches, consider placing the branch with the condition most likely to evaluate to TRUE first because subsequent branches are not traversed when a previous branch evaluates to TRUE for a row. By doing so, you can ensure the minimal amount of branches and corresponding conditions are evaluated.
Knowledge Check
If you’d like to confirm your understanding on the use of CASE expressions and other fundamental concepts, consider solving a handful of my practice problems here.