STUDENTS
, Employee
테이블 사용MySQL
을 사용
테이블 명 : STUDENTS
Column | Type |
---|---|
ID | Integer |
NAME | String |
Marks | Integer |
The Name column only contains uppercase (A-Z) and lowercase (a-z) letters.
테이블 명 : Employee
Column | Type |
---|---|
employee_id | Integer |
name | String |
months | Integer |
salary | Integer |
where employee_id is an employee's ID number, name is their name, months is the total number of months they've been working for the company, and salary is their monthly salary.
Query the Name of any student in STUDENTS who scored higher than
75
Marks. Order your output by the last three characters of each name. If two or more students both have names ending in the same last three characters (i.e.: Bobby, Robby, etc.), secondary sort them by ascending ID.1) 점수가 75점보다 높은 학생의 이름을 출력 2) 정렬은 이름의 마지막 3자로 정렬한 후, 중복값이 있으면 id로 정렬 -- ASC
SELECT name
FROM students
WHERE marks > 75
ORDER BY RIGHT(name, 3), id -- name의 오른쪽 3자로 정렬 후, 중복이면 id로 정렬
Write a query that prints a list of employee names (i.e.: the name attribute) from the Employee table in alphabetical order.
: Employee 테이블에 있는 name 값을 알파벳순으로 정렬
SELECT name
FROM employee
ORDER BY name -- ORDER BY (defalt값이 ASC)
Write a query that prints a list of employee names (i.e.: the name attribute) for employees in Employee having a salary greater than
$2000
per month who have been employees for less than10
months. Sort your result by ascending employee_id.1) 근무기간이 10개월 미만, 월 급여가 $2000 를 넘는 직원 이름 2) 직원 ID 오름차순으로 결과 정렬
SELECT name
FROM employee
WHERE months < 10 AND salary > 2000 -- 두 조건을 만족시키기 위해 AND 사용
ORDER BY employee_id
맞춰야하는 조건이 많이 없어서 아직까진 어려운 점이 없었다!
기억해야될 부분이 있다면 문자열을 자르는 방법!?
MySQL의 문자열 자르기 방법 (LEFT
,RIGHT
,SUBSTRING
) 을 기억해두면 이름에서 성을 가져와야하는 경우, 주민등록번호에서 앞 6자리만 가져오는 방법 등에 사용할 수 있을 것이다!
🔥 배운 것 적용해 보기
Customer
테이블은 고객의 이름과 주민등록번호로 구성되어있음- 조건
1) 이때,******-*******
로 되어있는 데이터 중 앞 6자만 가져와보기
2) 반환할 데이터 :이름
,생년월일
INPUT (Customer
)
Name | BirthNum |
---|---|
홍길동 | 550202-1234567 |
김영희 | 770303-1234567 |
김철수 | 990404-1234567 |
고길동 | 110505-1234567 |
CODE
SELECT Name AS "이름", LEFT(BirthNum, 6) AS "생년월일"
FROM Customer
OUTPUT
이름 | 생년월일 |
---|---|
홍길동 | 550202 |
김영희 | 770303 |
김철수 | 990404 |
고길동 | 110505 |
다음에는 더 복잡한 구조의 데이터를 수집하고, 조건에 맞게 추출, 분석해보는 연습을 해봐야겠다!