'SQL' 태그의 글 목록
본문 바로가기
728x90

SQL6

SQL) 문자열 다루기_2 (LOCATE/LEFT/RIGHT/LOWER/UPPER) SQL) 문자열 다루기 2 LOCATE(...), LEFT(...), RIGHT(...), LOWER(...), UPPER(...) LOCATE(sub_str, str) : 문자열에서 어떠한 문자열이 처음 나오는 곳의 index 값을 출력한다. LOCATE('aba', 'bcbababac') = 'bcbababac' 문자열에서 'aba' 문자열이 처음 나오는 곳의 index = 4 위 문자열 'bcbababac' 에서 'aba' 문자열이 처음 나오는 곳의 index 는 4 이다. 이 때 주의해야 할 점은, 대부분의 프로그래밍 언어에서 배열의 첫 시작 index는 0 이다. 하지만 MySQL 에서는 0이 아닌 1부터 시작한다. SELECT LOCATE('aba', 'bcbababac') AS Locate .. 2021. 9. 10.
SQL) 문자열 다루기_1 (LENGTH/CONCAT/SUBSTRING) SQL) 문자열 다루기 2 LENGTH(...), CONCAT(...), SUBSTRING(...), LENGTH(A) : 주어진 문자열의 길이를 출력하는 함수이다. LENGTH('Hello') = 'Hello' 문자열의 길이 = 5 SELECT LENGTH('Hello') AS Length FROM DUAL; CONCAT(A, B, ...) : 주어진 문자열들을 더하는 함수이다. CONCAT('Hello', ' ', 'World!') = 'Hello' + ' ' + 'World!' = 'Hello World!' CREATE TABLE S0910_2 ( First_name VARCHAR(10), Last_name VARCHAR(10) ); INSERT INTO S0910_2 VALUES ('Jihoon'.. 2021. 9. 10.
SQL) 순위함수(RANK, DENSE_RANK, ROW_NUMBER) 순위 함수 RANK(), DENSE_RANK(), ROW_NUMBER() RANK() : 순위에 대해서 중복되는 값들에 대해선 동일한 순위로 표시를 한다. 그리고 다음에 나오는 수의 순위는 이전에 중복되었던 값들의 수만큼 올라간다. CREATE TABLE Study ( Value INT ); INSERT INTO Study VALUES (100), (300), (300), (200), (300), (100), (200), (400); SELECT Value, RANK() OVER (ORDER BY Value ASC) AS 'Rank' FROM Study; 위 예시처럼 중복되는 값들에 대해선 동일한 순위가 부여가 되었고, 그 다음 값에 대한 순위는 이전에 중복된 값들의 개수만큼 올라간 순위가 부여되었다. .. 2021. 9. 3.
Leet) No.1179 [Reformat Department Table] Leetcode No.1179 [Reformat Department Table] 문제 Reformat Department Table - LeetCode Reformat Department Table - LeetCode Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview. leetcode.com 설명 위와 같이 Department table 의 data를 id column 으로 그룹화 시키고, Jan_Revenue ~ Dec_Revenue Column 을 만들어야 한다. 각 id 별로 Result table .. 2021. 8. 30.
SQL) JOIN (INNER/LEFT/RIGHT/OUTER) JOIN (INNER / LEFT / RIGHT / OUTER) 설명 둘 이상의 테이블을 연결하여 데이터를 확인할 수 있는 방법이다. 연결하고자 하는 테이블 간 공통적인 컬럼이 있어야 하며, 그 컬럼은 그 테이블의 PK 혹인 FK 로 사용되고 있어야 한다. [JOIN 설명을 위한 두 테이블 정의] CREATE TABLE S1 ( ID INT PRIMARY KEY, NAME VARCHAR(30) NOT NULL ); INSERT INTO S1 VALUES (111, 'AAA'), (222, 'BBB'), (333, 'CCC'), (444, 'DDD'); CREATE TABLE S2 ( ID INT PRIMARY KEY, NAME VARCHAR(30) NOT NULL ); INSERT INTO S2 VALU.. 2021. 8. 29.
SQL) 연산자 우선순위 연산자 우선순위 (Operator precedence) 2021. 8. 23.
728x90