SQL study [21.09.02]
AS 의 생략
SELECT A.Name NAME FROM S0902_2 A; # AS 생략
SELECT A.Name AS NAME FROM S0902_2 AS A; # AS 생략 X
AS 를 생략하여도 위와 같이 ALIAS를 지을 수 있다는 것을 알았다.
WHERE 조건 내에서 같은 Table 을 참조할 때 생기는 오류
DELETE FROM Person
WHERE Id NOT IN (
SELECT MIN(Id)
FROM Person
GROUP BY Email
);
위와 같은 경우 Update 하려는 Table 과 WHERE 조건 내의 Table 과 같은 Table 을 사용한다. 이 경우
이와 같은 오류가 발생할 수 있다. 이런 경우에는 SUB QUERY 를 한번 더 감싸서 해결할 수 있다.
DELETE FROM Person
WHERE Id NOT IN (
SELECT Sub.Minval FROM (
SELECT MIN(Id) AS Minval
FROM Person
GROUP BY Email
) AS Sub
);
INTERVAL n DAY
#잘못된 표현
T1.Date = T2.Date + 1
#맞는 표현
T1.Date = T2.Date + INTERVAL 1 DAY
두 데이터가 하루가 차이나는 경우를 위와 같이 잘못된 표현으로 하면 에러가 발생한다. 날짜끼리 원하는 날만큼 차이나는 케이스를 검사할 땐 INTERVAL n DAY 를 사용해야 한다.
오늘의 한 마디 : SQLD 를 위한 SQL공부가 아닌, SQL 공부를 흥미있게 하다보니 SQLD 는 가볍게 따는걸 원한다.
728x90
'Data Base > Daily_study' 카테고리의 다른 글
SQL study [21.09.03] (0) | 2021.09.03 |
---|---|
SQL study [21.08.25] (0) | 2021.08.25 |
SQL study [21.08.24] (0) | 2021.08.24 |
SQL study [21.08.23] (0) | 2021.08.24 |
SQL study [21.08.19] (0) | 2021.08.19 |
댓글