728x90
반응형

본론으로 들어가기 전, 아래의 w3schools에서 MySQL 명령어를 직접 사용해보면 이해가 더욱 쉬울 것입니다.

w3schools Mysql 명령어 사용해보기: https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_all 

 

MySQL Tryit Editor v1.0

WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, and Opera. If you use another browser you will still be able to use our Try SQL Editor, but a different version, usin

www.w3schools.com


사칙연산자

연산자 설명
+ 더하기
- 빼기
* 곱하기
/ 나누기
%, MOD 나머지

MySQL에서는 + (덧셈), - (뺄셈), * (곱셈), / (나눗셈), % 혹은 MOD (나머지) 등의 연산자를 사용할 수 있다.
이러한 연산자들을 이용해 데이터베이스의 컬럼들에 존재하는 값들을 계산하거나, 컬럼의 값들을 사용하지 않고 수식을 나타낼 수도 있다.

SELECT 1 + 1; -- ( 2 )
SELECT 5 - 2; -- ( 3 )
SELECT 5 * (4 - 6); -- ( -10 )
SELECT 5 % 4; -- ( 1 )

SELECT "문자열" + 10; -- ( 10 )
SELECT "문자열" * 4; -- ( 0 )
SELECT "10" * ("3" + "5"); -- ( 80 )

SELECT 컬럼명1 + 컬럼명2 FROM 테이블명; -- ( 컬럼1과 컬럼2를 서로 더한 값 )

논리연산자

MySQL의 논리연산자에는 다양한 것들이 존재한다. MySQL에서 참과 거짓은 각각 1과 0으로 표현되며 다음과 같은 연산자들이 존재한다.

연산자 설명
TRUE / FALSE 참 / 거짓, 1 / 0
IS 양쪽 모두가 같으면 TRUE, 아니면 FALSE
AND 혹은 && 양쪽이 TRUE라면 TRUE 둘 중 하나만 TRUE 라면 FALSE
OR 혹은 || 양쪽 중 하나만 TRUE 라면 TRUE, 둘 다 FALSE 라면 FALSE
= 양쪽 값이 같다면 TRUE, 아니면 FALSE
!= 혹은 <> 양쪽 값이 다르다면 TRUE, 같다면 FALSE
< 오른쪽 값이 더 크다면 TRUE, 아니라면 FALSE
> 왼쪽 값이 더 크다면 TRUE, 아니라면 FALSE
<= 오른쪽 값이 더 크거나 같을 때 TRUE, 반대의 경우 FALSE
>= 왼쪽 값이 더 크거나 같을 때 TRUE, 반대의 경우 FALSE
값1 BETWEEN ~ AND ~ 값1이 ~과 ~사이에 존재할 때 TRUE, 반대의 경우 FALSE
~ IN (값1, 값n) ~ 가 괄호안에 존재하는 값일 경우 TRUE, 존재하지 않는다면 FALSE
~ LIKE '...%' ...으로 시작하는 문자일 경우 TRUE, 아니라면 FALSE ( '%', '.', '_'를 이용해 찾고자 하는 문자열 패턴을 설정할 수 있음 )
NOT IS, IN 등과 같은 연산자랑 같이 사용해서 반대의 경우를 나타낼 수 있음
SELECT TRUE IS FALSE; -- ( 0 )

SELECT * FROM (테이블명) WHERE (컬럼명1) AND 혹은 && (컬럼명2); -- ( 컬럼1과 컬럼2가 거짓이 아닌 모든 값 )
SELECT * FROM (테이블명) WHERE (컬럼명1) OR 혹은 || (컬럼명2); -- ( 컬럼1와 컬럼2 중 하나라도 거짓이 아닌 모든 값 )

SELECT 1 = 1; -- ( 1 )
SELECT 2 <> 4; -- ( 1 )
SELECT 2 > 3; -- ( 0 )
SELECT 2 <= 2; -- ( 1 )

SELECT 10 BETWEEN 2 AND 50; -- ( 1 )
SELECT "Charlie" BETWEEN "Beta" AND "Delta"; -- ( 1 )

SELECT 2 * 3 IN (1, 2, 3, 4, 5, 6, 7, 8, 9, 10); -- ( 1 )
SELECT "Alpha" IN ("Beta", 1, FALSE); -- ( 0 )

SELECT "Bryan" LIKE "b%"; -- ( 1 )
SELECT "Bryan" LIKE "%an"; -- ( 1 )
SELECT "Bryan" LIKE "_r%n"; -- ( 1 )
SELECT "Bryan" LIKE "_____"; -- ( 1 )
728x90
반응형

'SQL' 카테고리의 다른 글

[SQL] MySQL 데이터베이스 기본 명령어 SELECT 사용법  (0) 2023.08.05
728x90
반응형

본론으로 들어가기 전, 아래의 w3schools에서 MySQL 명령어를 직접 사용해보면 이해가 더욱 쉬울 것입니다.

w3schools Mysql 명령어 사용해보기: https://www.w3schools.com/mysql/trymysql.asp?filename=trysql_select_all 

 

MySQL Tryit Editor v1.0

WebSQL stores a Database locally, on the user's computer. Each user gets their own Database object. WebSQL is supported in Chrome, Safari, and Opera. If you use another browser you will still be able to use our Try SQL Editor, but a different version, usin

www.w3schools.com


컬럼 찾기 : SELECT ~ FROM

SELECT [컬럼명] FROM [테이블명]; 는 테이블에 존재하는 컬럼들을 검색할 때 사용하는 명령어이다.
'~' 위치에는 보통 컬럼들의 이름을 입력해 해당 컬럼을 검색하지만, *(모두 선택)를 넣어 테이블에 존재하는 모든 컬럼을 검색할 수도 있다.

혹은 ',' 쉼표로 각 컬럼들을 나누어 여러 개의 컬럼들 동시에 검색할 수도 있다.

 

하나의 컬럼을 검색하는 경우 - SELECT [컬럼명] FROM [테이블명];

컬럼명과 테이블명을 사용해 검색하면 해당 테이블 내에 검색하고자 하는 컬럼의 모든 행들을 가져온다.

두 개 이상의 컬럼을 검색하는 경우 - SELECT [컬럼명1], [컬럼명2]... [컬럼명n] FROM [테이블명];

두 개 이상의 컬럼을 검색할 때는 ',' 쉼표로 각 컬럼을 구분해 입력한다. 이때, 입력한 컬럼의 순서대로 표시가 된다.

모든 컬럼을 검색하는 경우 - SELECT * FROM [테이블명];

테이블 내에 존재하는 모든 컬럼을 검색할 때는 * 를 사용한다.

컬럼에 별을 사용하기: AS

SELECT로 검색하여 표시되는 결과에 컬럼명 대신 원하는 이름이 표시되도록 하고싶다면 AS를 사용하면 된다.

 

하나의 컬럼에 별을 적용할 때 - SELECT [컬럼명] AS [별] FROM [테이블명];

AS를 이용하면 컬럼에 별칭을 적용해 표시할 수 있다.

두 개 이상의 컬럼에 별을 적용할 때 - SELECT [컬럼명1] AS [별1], [컬럼명2] AS [별칭2] FROM [테이블명];

두 개 이상의 컬럼에 별명을 적용할 때는 ',' 쉼표로 구분해 각각에 AS로 별칭을 적용할 수 있다.

MySQL의 조건문 : WHERE

WHERE는 MySQL에서 조건문와 같은 역할을 한다. 컬럼을 검색하는 SELECT와 같이 사용되며 이를 통해 검색하고자 하는 컬럼 내에서 특정 조건을 만족하는 행 만을 가져올 수 있다. 또한, MySQL의 연산자인 AND, OR 등을 사용해 다중 조건을 입력할 수도 있다.

 

하나의 조건을 사용하는 경우 - SELECT [컬럼명] FROM [테이블명] WHERE [조건];

조건을 입력해 SELECT를 사용하고자 한다면 WHERE를 사용해 특정 컬럼에 적용할 조건을 입력하여 사용한다.

다중 조건을 사용하는 경우 - SELECT [컬럼명] FROM [테이블명] WHERE [조건1] AND 혹은 OR [조건2];

다중 조건을 적용하고싶다면 AND 혹은 OR 등의 연산자를 사용해 여러 조건을 적용할 수 있다.

검색 정렬 순서 - ORDER BY ~ ASC / DESC

SELECT를 사용해 컬럼에서 행을 검색할 때, 어떠한 순서로 검색을 할 것인지 정하고자 한다면 ORDER BY를 사용하면 된다.
ORDER BY를 사용하면 오름차순과 내림차순을 선택하여 검색할 수 있는데 아무것도 입력하지 않는다면 기본값인 ASC (오름차순) 이 적용된다. 또한, 복수의 컬럼을 검색할 때에는 각 컬럼에 대하여 정렬 순서를 따로 적용할 수도 있다.
이때 적용되는 정렬 순서는 입력된 컬럼의 순서에 따라 먼저 입력된 컬럼의 정렬을 적용하고, 동일한 요소들에 대해 다음으로 입력된 컬럼의 정렬 규칙을 적용한다.

 

한 가지의 정렬 규칙을 적용할 때 - SELECT [컬럼명] FROM [테이블명] ORDER BY [컬럼명] ASC 혹은 DESC;

ORDER BY를 사용하면 직접 검색되는 데이터의 정렬 순서를 지정할 수 있다.

두 개 이상 가지의 정렬 규칙을 적용할 때 - SELECT [컬럼명] FROM [테이블명] ORDER BY [컬럼명1] ASC / DESC, [컬럼명2] ASC / DESC... [컬럼명n] ASC / DESC;

정렬 기준 또한 ',' 쉼표를 기준으로 여러 개를 부여할 수 있다. 이때 적용되는 정렬 순서는 입력된 컬럼들의 왼쪽부터 오른쪽으로 적용된다.

정해진 개수 만큼 가져오기: LIMIT

LIMIT은 컬럼 내에 존재하는 행들 중 몇 개만 지정해서 가져오고자 할 때 사용한다. LIMIT은 1개 혹은 2개의 숫자를 인자로 전달할 수 있는데, 이는 LIMIT 검색을 시작하는 행의 범위, 검색할 행의 마지막 범위; 이다. 한 가지의 인수만을 전달했을 때는 첫 번째 인수에 자동적으로 0이 전달되어 0부터 입력한 숫자까지의 행을 검색한다.

 

끝나는 행만 전달하는 경우 - SELECT [컬럼명] FROM [테이블명] LIMIT A;

LIMIT에 하나의 인자만을 전달한다면 '0 ~ 입력한 숫자' 의 범위로 검색한다.

시작하는 범위와 끝나는 범위를 모두 전달하는 경우 - SELECT [컬럼명] FROM [테이블명] LIMIT A, B;

두 인자를 모두 전달하는 경우 '첫 번째 인자 ~ 마지막 인자' 의 범위로 검색을 수행한다.

이외에도 MySQL에는 다양한 명령어가 존재하지만, 위에서 소개한 명령문들을 적절히 조합한다면 원하는 데이터를 적절히 찾는 작업을 원활하게 수행할 수 있을 것이다.

728x90
반응형

'SQL' 카테고리의 다른 글

[SQL] MySQL 데이터베이스 연산자들 알아보기  (1) 2023.08.09

+ Recent posts