웹사이트 검색

SQL 표현식


SQL 식은 값을 생성하는 하나 이상의 값, 연산자 및 SQL 함수의 조합입니다. 이러한 SQL EXPRESSION은 수식과 유사하며 쿼리 언어로 작성됩니다. 특정 데이터 집합에 대해 데이터베이스를 쿼리하는 데 사용할 수도 있습니다.

SQL 표현식

  1. 부울
  2. 숫자
  3. 날짜

샘플 프로그램을 통해 표현의 종류에 대해 자세히 알아보도록 하겠습니다.

SQL 부울 식

SQL 부울 표현식은 SQL 쿼리의 일부로 언급된 조건을 기반으로 데이터를 가져옵니다. 쿼리가 실행될 때 단일 값만 가져와야 합니다. 구문은 다음과 같습니다.

SELECT column 
FROM table_name 
WHERE SINGLE_VALUE_MATCHING_EXPRESSION;

일부 데이터가 있는 샘플 테이블을 사용하여 부울 식을 이해해 봅시다.

EmpId EmpName EmpAge EmpSalary
1 John 32 2000
2 Smith 25 2500
3 Henry 29 3000

위에서 언급한 Employee 테이블을 예로 들어 보겠습니다. 쿼리 예:

SELECT EmpName FROM Employee WHERE EmpId = 1;

위의 쿼리는 우리 쿼리에 대해 "John\인 단일 값을 생성합니다. SQL 부울 식은 항상 하나의 결과만 얻을 수 있도록 기본 키와 함께 사용해야 합니다. 이것은 중첩된 SQL 선택 쿼리의 경우에 필요합니다.

select posts.title, posts.author_id from posts, authors 
where posts.author_id = authors.id and 
posts.author_id = (select id from authors where name = 'Pankaj');

위 쿼리는 작성자 이름이 Pankaj인 모든 게시물 이름과 ID를 반환합니다. 여기서 중첩된 SQL 쿼리는 항상 하나의 행만 반환해야 합니다. 그렇지 않으면 하위 쿼리가 1개 이상의 행을 반환하므로 오류 메시지가 표시됩니다.

SQL 숫자 표현식

SQL Numeric Expression은 SQL 쿼리에서 수학적 연산을 수행하는 데 사용됩니다. 구문은 다음과 같습니다.

SELECT NUMERICAL_EXPRESSION as OPERATION_NAME
FROM table_name

NUMERICAL_EXPRESSION은 SQL 쿼리에 사용될 함수의 수학 공식입니다. 예제를 사용하여 숫자 표현을 이해해 봅시다.

SELECT count(*) FROM Employee; -- 3

위의 쿼리는 COUNT(*) 함수가 WHERE 절의 조건에 따라 총 행 수를 제공하기 때문에 3이 됩니다. 예를 들어 select count(*) from employee where empsalary > 2400;은 2를 반환합니다. sum(), avg(), min(), max() 등과 같은 다른 함수도 있습니다. 이러한 함수 수학 연산에 사용됩니다. SQL 숫자 표현식에 대한 몇 가지 추가 예제 코드 스니펫을 살펴보겠습니다.

SELECT sum(EmpSalary) as "Salary" FROM Employee; -- 7500
select min(EmpSalary) from Employee; -- 2000
select max(EmpSalary) from Employee; -- 3000
select sum(EmpSalary) from Employee; -- 7500
select avg(EmpSalary) from Employee; -- 2500.0000

SQL 날짜 표현식

SQL 날짜 표현식은 datetime 값을 반환합니다. 몇 가지 SQL 문으로 날짜 표현을 이해해 봅시다.

SELECT CURRENT_TIMESTAMP; -- 2018-01-20 10:32:37

-- For MYQSL
SELECT now(); -- 2018-01-20 10:32:57

-- For SQL Server
SELECT GetDate();

-- For Oracle DB
select sysdate from Dual; -- 20-JAN-18

위의 쿼리는 시스템의 현재 시간이 됩니다. 모든 관계형 데이터베이스 공급업체에는 현재 날짜 및 타임스탬프 값을 가져오는 특정 방법이 있으므로 데이터베이스의 한 기능이 다른 데이터베이스에서 작동하지 않을 가능성이 약간 있습니다. 이것이 SQL 표현식의 전부입니다. 이후의 SQL 자습서 및 프로그램에서 이를 많이 사용할 것입니다. 추가 자료: Oracle 설명서