我想在命名後訂購我的結果。因此需要多個表格。現在我遇到了問題,即使列中有null
,我也想對該名稱進行排序。下面你可以看到這應該代表了問題的一個示例數據庫:即使某些引用爲空,也可以獲取數據
我的表
CREATE TABLE IF NOT EXISTS `products` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`desc` varchar(255) NOT NULL,
`price` decimal(10,0) NOT NULL,
`manufacturer_id` int(11) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=4 ;
CREATE TABLE IF NOT EXISTS `manufacturer` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) NOT NULL,
`desc` varchar(255) NOT NULL,
`website` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
我的數據:
INSERT INTO `products` (`id`, `desc`, `price`, `manufacturer_id`) VALUES
(1, 'book', 12, 1),
(2, 'cup', 4, 2),
(3, 'Arbitrary product', 100, NULL);
INSERT INTO `manufacturer` (`id`, `title`, `desc`, `website`) VALUES
(1, 'Publisher', 'Lorem ipsum', 'www.stackoverflow.com'),
(2, 'Cup producer', 'Lorem ipsum', 'www.cup.com');
如果我做了SELECT * FROM products
比我會得到三種結果。如果我想訂購我有一個像
SELECT p.desc, p.price, m.title
FROM products p, manufacturer m
WHERE p.manufacturer_id = m.id
ORDER BY m.title
此查詢給了我只有兩個結果,因爲在products
的null
價值。製造商稱號後,是否可以對錶products
進行排序,即使其中有null
?