CS14 [SQL] ORDER BY 개념, 사용법 ORDER BY란?SELECT문에서 조회된 결과를 특정 컬럼들 기준으로 정렬하도록 도와준다.기본적으로는 ASC(오름차순)으로 정렬되며, DESC(내림차순)를 명시적으로 작성하면 내림차순으로 정렬된다.SELECT 컬럼명1, 컬럼명2 FROM 테이블명 ORDER BY 컬럼명 [ASC|DESC];여기서 ASC 혹은 DESC를 명시적으로 작성하지 않을 경우, 기본값인 ASC가 적용된다.단일 컬럼 정렬하나의 컬럼을 기준으로 정렬하는 방법-- 급여를 기준으로 오름차순 정렬SELECT id, name, salaryFROM employeesORDER BY salary;-- 급여를 기준으로 내림차순 정렬SELECT id, name, salaryFROM employeesORDER BY salary DESC;-- 이름을 기.. 2025. 9. 7. [SQL] JOIN 설명, JOIN 종류, 사용법 개념두 개 이상의 테이블들에 있는 데이터를 한 번에 조회하는 것종류종류는 크게 2가지가 있다.INNER JOIN두 개 이상의 테이블에서 join condition을 만족하는 데이터들로 결과 테이블을 만드는 JOINnull 값을 갖는 데이터는 결과 테이블에 포함되지 않는다.FROM TABLE_A [INNER] JOIN TABLE_B ON join_conditionjoin_condition에서 사용 가능한 연산자는 =, , != 등 사용 가능하다.OUTER JOIN 두 개 이상의 테이블에서 join condition을 만족하지 않는 데이터들도 결과 테이블을 만드는 join FROM TABLE_A LEFT [OUTER] JOIN TABLE_B ON join_condition # A 테이블에서 join cond.. 2025. 9. 7. [Programmers] 평균 일일 대여 요금 구하기 문제 자동차 종류가 SUV인 자동차들의 평균 일일 대여 요금을 출력하는 문제이다. 문제 설명 CAR_RENTAL_COMPANY_CAR 테이블에서 자동차 종류가 SUV인 자동차들의 평균 일일 대여 요금을 구하는 문제이다. 일일 대여 요금은 소수 첫번째 자리에서 반올림 해야 한다. 개념 ROUND - 결과값을 반올림해주는 기능 - 집계함수와 함께 사용 가능 ex) ROUND(결과값, 자릿수) 문제 풀이 결과값은 SUV의 평균 일일 대여 요금 평균(AVERAGE_FEE)을 소수 첫번째 자리에서 반올림하면 된다. SELECT ROUND(AVG(CAR_TYPE), 0) AS AVERAGE_FEE FROM CAR_RENTAL_COMPANY_CAR WHERE CAR_TYPE="SUV"; 문제 풀이에 성공했다. 문제 .. 2023. 9. 14. [Programmers] 상위 n개 레코드 문제 상위 N개의 데이터만 출력할 수 있는지 묻는 문제이다. 문제 설명 DATETIME을 오름차순으로 정렬한 데이터를 조회한다. 또한, 모든 동물의 이름을 출력하는 것이 아니라 1개만 출력해야 한다. 개념 상위 N개의 데이터만 출력하고 싶을 땐 LIMIT을 이용하면 된다. LIMIT SELECT 열이름 FROM 테이블이름 LIMIT 1; # 1개의 데이터만 출력하고 싶을 때 SELECT 열이름 FROM 테이블이름 LIMIT 2; # 2개의 데이터만 출력하고 싶을 때 SELECT 열이름 FROM 테이블이름 LIMIT N; # N개의 데이터만 출력하고 싶을 때 문제풀이 DATETIME(오름차순)로 나열된 동물의 이름을 하나만 출력하기 위한 SQL문은 아래와 같다. SELECT NAME FROM ANIMAL_.. 2021. 5. 8. [Programmers] 여러 기준으로 정렬하기 문제 ORDER BY를 활용할 수 있는지 물어보는 문제인 것 같다. 문제 설명 ANIMAL_ID, NAME, DATETIME을 이름 순으로 정렬한다. 다만 같은 이름이 있을 경우에는 보호를 나중에 시작한 동물을 먼저 조회한다. 즉, 이름이 같을 경우 DATETIME을 내림차순으로 정렬한다. 개념 ORDER BY 여러개 SELECT 열이름 FROM 테이블이름 ORDER BY 열이름1 정렬방향(ASC or DESC), 열이름2 정렬방향(ASC or DESC); 즉, 쉼표(,)로 구분하면 여러 조건으로 정렬할 수 있다. 문제풀이 이름(오름차순)으로 정렬하되, 이름이 같을 시 DATETIME(내림차순)으로 조회해야 하기 때문에 쿼리문은 아래와 같다. SELECT ANIMAL_ID, NAME, DATETIME F.. 2021. 5. 8. [Programmers] 내적 문제 내적을 구하는 문제이다. 문제 설명 길이가 같은 a, b로 내적을 구하는 문제이다. 내적은 벡터에서 나오는 개념으로 인덱스 위치가 같은 것끼리 곱해준 후 더해주면 구할 수 있다. 문제 풀이 알고리즘 1. a와 b의 길이는 서로 같기 때문에 둘 중 하나를 이용해서 해당 리스트의 인덱스를 구해준다. 2. 내적 공식(인덱스의 위치가 같은 것끼리 곱한 후 더하기)을 이용하여 answer 변수에 대입한다. def solution(a, b): answer = 0 for i in range(len(a)): # 인덱스 구하기 answer += a[i] * b[i] # 내적 공식 이용 return answer 문제에서 원하는 값과 동일한 결과이므로 모든 테스트에 통과됐다. 문제 풀이에 성공했다. 문제 출처 : pr.. 2021. 5. 8. [Programmers] 동물의 아이디와 이름 문제 원하는 데이터만 출력하고, 기준이 되는 컬럼으로 정렬하는 문제이다. 즉, 컬럼을 나열할 수 있는지, ORDER BY의 개념에 대해서 아는지 물어보는 문제인 것 같다. 문제 설명 ANIMAL_INS 테이블에서 ANIMAL_ID와 NAME 컬럼을 ANIMAL_ID 순으로 정렬하여 조회해야 한다. 개념 1. 조회되길 원하는 컬럼이 여러개일 때 컬럼명을 ,(쉼표)로 나열하면 된다. SELECT 컬럼명1, 컬럼명2 FROM 테이블명; 2. 내림차순 & 오름차순 정렬 오름차순 SELECT * FROM 테이블명 ORDER BY 컬럼명 ASC; 오름차순 정렬은 ASC를 입력해주지 않아도 ORDER BY만 입력해도 된다. 오름차순(ASC 생략) SELECT * FROM 테이블명 ORDER BY 컬럼명; 내림차순 정.. 2021. 5. 7. 이전 1 2 다음 반응형