728x90
반응형

취준이랄까../SQLD 37

MY sql, join 종류, inner / outer / left / right

SQL에서 `JOIN`은 두 테이블을 특정 조건에 맞춰 결합할 때 사용하는 방법입니다. 각 `JOIN` 유형의 차이를 예제를 통해 설명하겠습니다.### 예제 테이블두 개의 테이블이 있습니다.#### 학생 테이블 (Students)| Student_ID | Student_Name ||------------|--------------|| 1          | Alice        || 2          | Bob          || 3          | Charlie      || 4          | David        |#### 수업 테이블 (Courses)| Course_ID | Student_ID | Course_Name ||-----------|------------|---------..

my sql, 정규표현식

SQL 정규표현식을 사용하는 문제는 데이터베이스에서 특정 패턴을 찾거나 특정 형식을 검증하는 데 주로 사용됩니다. SQL에서 정규표현식을 지원하는 데이터베이스(예: MySQL, PostgreSQL)에서는 `REGEXP`(또는 `SIMILAR TO`)와 같은 키워드를 사용하여 정규표현식을 사용할 수 있습니다. 아래는 SQL 정규표현식을 활용한 문제의 예시와 그에 대한 설명입니다. --- ### 1. 이메일 형식 검증 문제 **문제**   직원 테이블에서 이메일 형식이 올바르지 않은 레코드를 찾으세요. 이메일은 `username@domain.com` 형식을 따라야 하며, `username`은 영문자, 숫자, `.` 또는 `_` 문자로 구성될 수 있고, `domain`은 영문자와 숫자로만 이루어져야 합니다. ..

실수 가능, mysql, distinct

--- ### 1. `SELECT name, subject, DISTINCT score FROM students;` 이 쿼리는 문법적으로 **잘못된 쿼리**입니다. `DISTINCT`는 `SELECT` 문에서 **전체 행에 대해 적용되는 키워드**이므로, 개별 컬럼에 대해서만 `DISTINCT`를 적용할 수 없습니다. 또한 `DISTINCT`는 항상 `SELECT` 바로 뒤에 위치해야 하므로 `DISTINCT` 키워드가 컬럼 중간에 들어가면 SQL 문법 오류가 발생합니다. 올바른 문법으로 고치려면 다음과 같이 작성할 수 있습니다: ```sql SELECT DISTINCT name, subject, score FROM students; ``` 이 경우, `name`, `subject`, `score`의 조..

MYSQL) SUBSTRING, SUBSTRING_INDEX

[CONCAT]두 컬럼을 조합하여 새로운 튜플로 된 컬럼을 생성하는 방법은 `CONCAT` 또는 `||` 연산자를 사용하여 두 컬럼의 값을 합치는 것입니다. 예를 들어, `first_name`과 `last_name`이라는 두 개의 컬럼을 합쳐서 새로운 `full_name` 컬럼을 만들고 싶다면 다음과 같은 SQL 쿼리를 사용할 수 있습니다. => 튜플 만들때도 사용할 수 있음```sql SELECT CONCAT(first_name, ' ', last_name) AS full_name FROM employees; ``` 또는 SQL 표준에서는 `||` 연산자를 사용할 수 있습니다. ```sql SELECT first_name || ' ' || last_name AS full_name FROM employe..

union all 쿼리시 틀릴 수 있는 부분

SQL다음 쿼리가 틀린 이유가 뭐야? SELECT FLAVOR, SUM(TOTAL_ORDER) AS SUM_ORDERFROM ((SELECT * FROM FIRST_HALF)            UNION ALL (SELECT * FROM JULY))GROUP BY FLAVORORDER BY SUM_ORDER >>>이 SQL 쿼리가 잘못된 이유는 `UNION ALL` 연산의 사용법에 있습니다. `UNION ALL`은 두 쿼리를 결합하는 연산자이지만, 괄호를 사용한 방식이 잘못되었습니다. `UNION ALL`의 양쪽에 있는 쿼리를 감싸는 괄호는 필요하지 않으며, 괄호를 사용하는 경우 괄호 안에 서브쿼리를 작성할 때 `SELECT` 문을 괄호로 감싸지 않아야 합니다. 수정된 쿼리는 다음과 같습니다: ```s..

실전) SQL은 쿼리 하나 완성 후, 다른 것을 진행 할 수 있다.

일반적으로 SQL에서는 하나의 문을 완료한 후 다음 문을 시작해야 함 >> SQL Error [--] [--]: ORA---: SQL 명령어가 올바르게 종료되지 않았습니다 . SQL은 각각의 쿼리가 명시적으로 종료되어야 하며, 따라서 하나의 쿼리가 끝난 후에 다음 쿼리가 시작되어야 합니다. 이러한 SQL의 특성은 SQL 질의 언어의 일관성과 명확성을 유지하기 위해 존재합니다. SQL 문법은 각 문장의 끝을 나타내기 위해 세미콜론(;)을 사용합니다. 세미콜론은 SQL 문을 명확하게 분리하고 종료하는데 사용됩니다. 따라서 세미콜론을 사용하여 각각의 쿼리를 구분하면 SQL 파서가 각 쿼리를 올바르게 인식하고 실행할 수 있습니다. 따라서 SQL의 이러한 문법적 성질로 인해 하나의 쿼리가 끝난 후에만 다음 쿼리를..

728x90
반응형