지금의 경상북도 서북부 지역을 중심으로 설치되었다. 5세기 후반 신라는 소백산맥 이남 지역에 진출한 고구려 세력을 그 이북으로 축출하였다. 이에 부응해 신라는 505년(지증왕 6)에 전국적인 통치 체제인 주(州)·군(郡)·현(縣)제를 시행해 중앙 집권적인 통치 질서를 확립하고자 하였다.
이 때 주는 신라의 영토 확장 과정에서 지방 세력을 편제하기 위한 방편으로 형성된 것이다. ≪삼국사기≫ 지리지 상주(尙州)조에 따르면, 525년(법흥왕 12)에 처음으로 군주(軍主)를 두고 상주(上州)를 설치했다고 한다. 반면에 ≪삼국사기≫ 신라본기에는 525년 2월에 대아찬(大阿飡) 이등(伊登)을 사벌주(沙伐州) 군주로 삼았다고 한다.
이 두 기록을 볼 때, 상주는 지금의 경상북도 상주(尙州)를 주치(州治)로 한 대략 경상북도 일원에 대한 지방 통치 조직임을 알 수 있다. 아울러 그 설치는 지금의 상주를 중심으로 한 신라 서북 변경 지역에 대한 일련의 산성 축조를 배경으로 했음을 볼 때, 고구려 세력의 제압을 비롯한 북진책(北進策)의 일환이었다.
그러나 상주의 주치는 작전상 필요에 따라 이동했는데, 557년(진흥왕 18) 사벌주에서 감문주(甘文州 : 지금의 경상북도 김천시 개령면)로 이동하였다. 그 이동 배경은 554년(진흥왕 15) 백제군과 합세한 대가야군을 신라가 크게 격파함에 따라, 가야 지역에 진출해 대가야를 위협할 목적으로 주치를 그 인접 지역으로 이동시킨 것이다.
아울러 신라가 한강 유역을 점령함에 따라 적대 관계로 변한 백제를 추풍령 방면에서 방어해 상주의 영역을 방위하도록 한 것이다. 그 뒤 주치는 614년(진평왕 36) 일선주(一善州 : 지금의 경상북도 구미)로 다시 이동했는데, 이는 백제의 위협을 견제하려는 조처였다. 실제로 611년(진평왕 33)에 상주의 군대는 백제군과의 전투에 동원되었다.
삼국통일 후인 685년(신문왕 5)에 9주를 정비함에 따라 687년 일선주는 폐지되고 사벌주가 다시 설치되었다. 이로써 군정적인 성격의 지방 행정 조직인 상주는 그 소임을 다하고 사벌주로 개편되고 말았다. 한편, 상주에는 국가의 정규 부대인 상주정(上州停)이 배치되어 있었다.