· 7 years ago · Jan 12, 2019, 05:24 AM
1-- Current SQL:
2SELECT `widgetName`, `manufacturerName` FROM `manufacturers`
3LEFT JOIN `widgets` ON `widgets`.`manufacturerId` = `manufacturers`.`id`
4WHERE `manufacturers`.`manufacturerName` LIKE '%Company%'
5
6
7/*
8
9Sample Tables
10manufacturers (id,
11 Company A
12 Company B
13 Company C
14
15widgets (id, widgetName, manufacturerId)
16 Widget 1, 1
17 Widget 2, 1
18 Widget 3, 2
19 Widget 4, 2
20 Widget 5, 2
21
22
23
24Desired Output:
25 Company A, NULL
26 Company A, Widget 1
27 Company A, Widget 2
28 Company B, NULL
29 Company B, Widget 3
30 Company B, Widget 4
31 Company B, Widget 5
32 Company C, NULL
33
34Current Ouput:
35 Company A, Widget 1
36 Company A, Widget 2
37 Company B, Widget 3
38 Company B, Widget 4
39 Company B, Widget 5
40 Company C, NULL
41
42
43Create Database:
44
45DROP SCHEMA IF EXISTS `widgetFactoryExample`;
46CREATE SCHEMA `widgetFactoryExample`;
47USE `widgetFactoryExample`;
48
49CREATE TABLE `manufacturers` (
50 `id` INTEGER NOT NULL AUTO_INCREMENT,
51 `manufacturerName` VARCHAR(255) NOT NULL,
52 PRIMARY KEY (`id`)
53);
54
55INSERT INTO `manufacturers` (`id`, `manufacturerName`) VALUES
56(1, 'Company A'),
57(2, 'Company B'),
58(3, 'Company C');
59
60
61CREATE TABLE `widgets` (
62 `id` INTEGER NOT NULL AUTO_INCREMENT,
63 `widgetName` VARCHAR(255) NOT NULL,
64 `manufacturerId` INTEGER NOT NULL,
65 PRIMARY KEY (`id`),
66 FOREIGN KEY (`manufacturerId`) REFERENCES `manufacturers`(`id`)
67);
68
69INSERT INTO `widgets` (`id`, `widgetName`, `manufacturerId`) VALUES
70(1, 'Widget 1', 1),
71(2, 'Widget 2', 1),
72(3, 'Widget 3', 2),
73(4, 'Widget 4', 2),
74(5, 'Widget 5', 2);
75
76
77*/