사용자 이름의 첫 번째 알파벳만 대문자로 수정하고, 나머지는 소문자로 변경한 후 user_id를 기준으로 오름차순 정렬하라.
처음에는 str.capitalize()를 사용하려 했으나, 이는 Python 함수로 SQL에서는 사용할 수 없다는 점을 깨달음. UPPER(), LOWER()와 같은 문자열 변환 함수도 SQL과 Python 모두에 존재하지만, 두 언어의 함수 사용법을 헷갈리지 않도록 정리할 필요가 있음.
LEFT(string, number_of_characters)
LEFT(name, 1)name에서 첫 글자(1번째 문자)를 추출함.'John'이라는 문자열에서 LEFT(name, 1)은 'J'를 반환함.CONCAT(string1, string2, ..., stringN)
CONCAT(string1, string2)CONCAT('Hello', ' ', 'World')는 'Hello World'를 반환함.SUBSTRING(string, start, length)
SUBSTRING(name, 2)name에서 두 번째 문자부터 시작하여 문자열 끝까지 추출함.'John'이라는 문자열에서 SUBSTRING(name, 2)는 'ohn'을 반환함.SELECT
user_id,
capitalize(name) AS name
FROM Users
ORDER BY 1;
capitalize()는 Python 함수로 SQL에서는 사용할 수 없음.UPPER(), LOWER()와 같은 SQL 문자열 변환 함수 사용 필요.SELECT
user_id,
CONCAT(UPPER(LEFT(name, 1)), LOWER(SUBSTRING(name, 2))) AS name
FROM Users
ORDER BY user_id;
LEFT(), CONCAT(), SUBSTRING() 같은 함수들은 문자열의 일부를 추출하거나 결합하는 데 유용하며, SQL에서의 UPPER()와 LOWER()를 조합하여 이름의 첫 글자를 대문자로 변환할 수 있다.애매하게 아는 것을 확실히 아는 것으로 만들고 넘어가자!!! 🕺