如何将SQL SERVER查询转换为Oracle SQL?
我正在尝试将下面的查询从SQL Server转换为Oracle SQL。我不确定 关于甲骨文的IFF条件如何将SQL SERVER查询转换为Oracle SQL?,sql,oracle,database-migration,Sql,Oracle,Database Migration,我正在尝试将下面的查询从SQL Server转换为Oracle SQL。我不确定 关于甲骨文的IFF条件 SELECT IIF(Grade<8, NULL,Name) As Name ,Grade,Marks FROM Grade,Students WHERE Marks>=Min_Mark and Marks<=Max_Mark ORDER BY Grade DESC, Name ASC; 选择IIF(Grade=Min_Mark)和Marks您可以像下面这样尝试 S
SELECT IIF(Grade<8, NULL,Name) As Name ,Grade,Marks
FROM Grade,Students
WHERE Marks>=Min_Mark and Marks<=Max_Mark
ORDER BY Grade DESC, Name ASC;
选择IIF(Grade=Min_Mark)和Marks您可以像下面这样尝试
SELECT case when Grade<8 then NULL else Name end As Name ,Grade,Marks
FROM Grade,Students
WHERE Marks>=Min_Mark and Marks<=Max_Mark
ORDER BY Grade DESC, Name ASC;
SELECT case when Grade<8 then NULL else Name end As Name ,Grade,Marks
FROM Grade join Students
on Grade.Marks>=Students.Min_Mark and
Grade.Marks<=Students.Max_Mark
ORDER BY Grade DESC, Name ASC;
选择Grade=Min\u Mark和Marks时的case您可以像下面这样尝试
SELECT case when Grade<8 then NULL else Name end As Name ,Grade,Marks
FROM Grade,Students
WHERE Marks>=Min_Mark and Marks<=Max_Mark
ORDER BY Grade DESC, Name ASC;
SELECT case when Grade<8 then NULL else Name end As Name ,Grade,Marks
FROM Grade join Students
on Grade.Marks>=Students.Min_Mark and
Grade.Marks<=Students.Max_Mark
ORDER BY Grade DESC, Name ASC;
选择case when Grade=Min\u Mark and marks您应该停止在where子句中使用那些古老的、过时的和脆弱的隐式联接,并切换到显式的JOIN
运算符您应该停止在where子句中使用那些古老的、过时的和脆弱的隐式联接,并切换到显式的JOIN
运算符人们一致认为第二个问题是最佳实践答案。确实非常有益。几乎每个人都同意第二个问题是最佳实践答案。确实非常有益。