在性能方面,这有什么好处?
使用临时表
CREATE TABLE #sex (idReg INT, character NVARCHAR(1))
INSERT INTO #sex
SELECT 1, 'M'
UNION
SELECT 2, 'F'
SELECT p.name, s.character as sexChar
FROM tbl_person p INNER JOIN #sex s ON p.sex=s.idReg
使用CASE
SELECT p.name,
(case when sex=1 THEN 'M'
when sex=2 THEN 'F'
END) as sexChar
FROM tbl_person p
(在实际情况中,将有10个选项,而不仅仅是示例的M / F)
答案 0 :(得分:1)
使用case语句的第二个更快:查询成本相对于批处理为12%,其中第一个查询成本为88%