Mega Code Archive

 
Categories / MySQL / Join
 

To return all the sales reps who have not yet made a sale

mysql> mysql> CREATE TABLE customer (     ->   id int(11) default NULL,     ->   first_name varchar(30) default NULL,     ->   surname varchar(40) default NULL     -> ) ; Query OK, 0 rows affected (0.00 sec) mysql> mysql> INSERT INTO customer VALUES (1, 'Tom', 'Clegg'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO customer VALUES (2, 'Jack', 'Smith'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO customer VALUES (3, 'Will', 'Powers'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO customer VALUES (4, 'Peter', 'Miller'); Query OK, 1 row affected (0.00 sec) mysql> mysql> CREATE TABLE sales (     ->   code int(11) default NULL,     ->   sales_rep int(11) default NULL,     ->   customer int(11) default NULL,     ->   value int(11) default NULL     -> ) ; Query OK, 0 rows affected (0.00 sec) mysql> mysql> INSERT INTO sales VALUES (1, 1, 1, 2000); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales VALUES (2, 4, 3, 250); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales VALUES (3, 2, 3, 500); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales VALUES (4, 1, 4, 450); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales VALUES (5, 3, 1, 3800); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales VALUES (6, 1, 2, 500); Query OK, 1 row affected (0.00 sec) mysql> mysql> CREATE TABLE sales_rep (     ->   employee_number int(11) default NULL,     ->   surname varchar(40) default NULL,     ->   first_name varchar(30) default NULL,     ->   commission tinyint(4) default NULL,     ->   date_joined date default NULL,     ->   birthday date default NULL     -> ) ; Query OK, 0 rows affected (0.00 sec) mysql> mysql> INSERT INTO sales_rep VALUES (1, 'Ray', 'Sol', 10,  '2000-02-15', '1976-03-18'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales_rep VALUES (2, 'Goal', 'Charlene', 15, '1998-07-09', '1958-11-30'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales_rep VALUES (3, 'Soy', 'Mike', 10, '2001-05-14', '1971-06-18'); Query OK, 1 row affected (0.00 sec) mysql> INSERT INTO sales_rep VALUES (4, 'Ray', 'Mongane', 10, '2002-11-23', '1982-01-04'); Query OK, 1 row affected (0.00 sec) mysql> mysql> mysql> SELECT first_name,surname FROM sales_rep WHERE employee_number     ->  NOT IN (SELECT DISTINCT code from sales); Empty set (0.00 sec) mysql> mysql> SELECT DISTINCT first_name,surname FROM sales_rep LEFT JOIN sales ON     ->  sales_rep=employee_number WHERE sales_rep IS NULL; Empty set (0.00 sec) mysql> mysql> drop table sales; Query OK, 0 rows affected (0.00 sec) mysql> drop table customer; Query OK, 0 rows affected (0.00 sec) mysql> drop table sales_rep; Query OK, 0 rows affected (0.00 sec) mysql>