Oracle DB



  • How can the request be classified on a specific basis, such as ID 10, 20, 50. I want to fight in order of 10, 50, 20. I got on the Internet, but I couldn't find the answer. ♪ ♪

    SELECT
    a.department_id, 
    b.department_name,
    a.job_id
    FROM HR.EMPLOYEES a 
    LEFT JOIN HR.DEPARTMENTS b
    ON a.department_id = b.department_id
    WHERE a.department_id = 10
    

    UNION ALL

    SELECT
    a.department_id,
    b.department_name,
    a.job_id
    FROM HR.EMPLOYEES a
    LEFT JOIN HR.DEPARTMENTS b
    ON a.department_id = b.department_id
    WHERE a.department_id = 50

    UNION ALL

    SELECT
    a.department_id,
    b.department_name,
    a.job_id
    FROM HR.EMPLOYEES a
    LEFT JOIN HR.DEPARTMENTS b
    ON a.department_id = b.department_id
    WHERE a.department_id = 20;



  • For example, it is possible to do so:

    SELECT a.department_id, b.department_name, a.job_id
      FROM HR.EMPLOYEES a 
      LEFT JOIN HR.DEPARTMENTS b
        ON a.department_id = b.department_id
     WHERE a.department_id IN(10, 50, 20)
     ORDER BY decode(department_id, 10, 1, 50, 2, 20, 3)
    

    In fact, for order, we'll replace department_id for the grading number.



Suggested Topics

  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2
  • 2