본문 바로가기
DataBase/MsSql

데이터베이스 SELECT DML문 사용예제 및 설명

by 아우럼 2024. 3. 16.
반응형

SELECT는 데이터를 검색하기 위한 DML문으로 보통 database TABLE의 데이터를 조회할 때 SELECT DML문을 사용합니다.

SELECT DML문 구조 설명

SELECT DML문 예시 코드.

SELECT [ TOP | COLUMN1, COLUMN2 | ALL | DISTINCT]
FROM 테이블이름 (들)
[ WHERE 조건(들) ]
[ GROUP BY 속성명 ]
[ HAVING 검색조건(들) ]
[ ORDER BY 속성명 [ ASC | DESC ];

SELECT DML문 예시 설명.

[ ] : 대괄호 안의 SQL 예약어들은 선택적으로 필요시 사용할 수 있습니다.
| : 선택 가능한 문법들 중 한 개를 선택해서 사용할 수 있습니다.

SELECT DML문 예제

SELECT의 COLUMN, ALL, DISTINCT 예제.

예시 코드.
SELECT [DISTINCT] {*, column [Alias]}
FROM 테이블 이름;

 

USE sampleDB;
DROP TABLE IF EXISTS UserInfoForSelect;
CREATE TABLE UserInfoForSelect (
        StudentId			int,
        StudentName			varchar(255),
        KorScore			int,
        MathScore			int,
        EngScore			int,
        ScienceScore		int
);
 
insert into UserInfoForSelect(StudentId, StudentName, KorScore, MathScore, EngScore, ScienceScore)
 values(202401,'john',90,97,93,100)
          ,(202402,'Obama',90,70,100,100)
          ,(202403,'Trumb',20,15,5,5)
          ,(202404,'bush',50,15,35,25)
          ,(202405,'Biden',60,70,75,50)
          ,(202406,'Biden',80,90,75,50);
 
 
 -- 1. SELECT 의 COLUMN,ALL,DISTINCT 예제
	-- 모든 column 출력하기
   SELECT *
    FROM UserInfoForSelect;

  -- 필요한 COLUMN만 출력하기
   SELECT StudentId, StudentName, KorScore
    FROM UserInfoForSelect;

  -- 중복제거후 출력하기
   SELECT  DISTINCT StudentName 
    FROM UserInfoForSelect;

 

SELECT 절에서 COLUMN, ALL, DISTINCT 예제 입니다.

SELECT DML문 WHERE 조건 예제.

조건은 KorScore 점수가 50점 이상인 학생만 출력하세요.

 

-- 2. WHERE 조건 예제	 
SELECT  * 
  FROM UserInfoForSelect
  WHERE KorScore > 50;

SELECT DML문 GROUP BY 예제.

StudentName의 column에서 중복되는 학생은 한 번만 출력해 주세요.

 

-- 3. GROUP BY 예제
SELECT  StudentName 
  FROM UserInfoForSelect	
GROUP BY  StudentName

 

HAVING 절 예제.

StudentName를 이용하여 학생이름이 같은 사람을 알려주세요.

 

-- 4. HAVING 예제
SELECT  StudentName  
  FROM UserInfoForSelect	
GROUP BY  StudentName 
HAVING count(StudentName) > 1;

ORDER BY 예제.

학생 중 한국어 점수가 좋은 사람을 먼저 출력하세요.

-- 5. ORDER BY  예제 
SELECT  *  
  FROM UserInfoForSelect	
ORDER BY  KORSCORE  DESC;

DML 문에서 SELECT하고 WHERE, GROUP BY, HAVING, ORDER BY 사용 방법 설명 입니다.

MSSQL SELECT TOP 기능

MSSQL TOP 사용 용도는?

다른 database에서는 limit를 사용하지만 mssql에서는 유일하게 top을 사용하므로 주의하셔야 합니다.

실행결과는 N개를 반환합니다.

질문: 한국어 점수가 낮은 학생 3명을 알려주세요.

-- MSSQL TOP 예제
SELECT  TOP 3 *  
FROM UserInfoForSelect
ORDER BY  KORSCORE  ASC;

 

mssql에서는 유일하게 사용하는 TOP절 예제 입니다.

 

 

 

반응형