In Microsoft SQL Server, the `COUNT(*)` and `COUNT(column)` functions are both used to count the number of rows in a table or a result set. However, they have a subtle difference: 1. **COUNT(*)**: This function counts the total number of rows in a table, including rows with NULL values in any column. Example: ``` SELECT COUNT(*) FROM TableName; ``` 2. **COUNT(column)**: This function..
1.사용 목적: EXISTS: 서브쿼리의 결과가 하나라도 존재하는지 확인하는 데 사용됩니다. IN: 서브쿼리의 결과 중에서 특정 값이 존재하는지 확인하는 데 사용됩니다. 2.쿼리 실행 방식: EXISTS: 서브쿼리를 먼저 실행하고, 메인쿼리에서 서브쿼리의 결과가 존재하는지 확인합니다. IN: 메인쿼리에서 서브쿼리의 결과를 모두 가져와서 비교합니다. 3.성능: EXISTS: 서브쿼리의 결과가 적을 때는 IN보다 성능이 좋지만, 많을 때는 IN보다 성능이 떨어집니다. IN: 서브쿼리의 결과가 많을 때는 EXISTS보다 성능이 좋지만, 적을 때는 EXISTS보다 성능이 떨어집니다. SELECT * FROM Table1 WHERE EXISTS (SELECT 1 FROM Table2 WHERE Table1.id ..
이 함수는 둘 이상의 문자열 값을 엔드투엔드 방식으로 연결하거나 조인한 결과 문자열을 반환합니다. SELECT CONCAT ( 'Happy ', 'Birthday ', 11, '/', '25' ) AS Result; Result ------------------------- Happy Birthday 11/25 (1 row(s) affected) 실전 예제 select string_agg(concat(pis.sku_no, '(', pis.sku_qty, ')'), ', ') from table_name as pis with(nolock)
DECLARE @param1 INT, @param2 VARCHAR(50); -- 저장 프로시저에 전달할 매개변수 선언 DECLARE myCursor CURSOR FOR SELECT column1, column2, ... FROM your_table WHERE your_condition; OPEN myCursor; FETCH NEXT FROM myCursor INTO @param1, @param2; WHILE @@FETCH_STATUS = 0 BEGIN -- 저장 프로시저 호출 EXEC YourStoredProcedure @param1, @param2; FETCH NEXT FROM myCursor INTO @param1, @param2; END CLOSE myCursor; DEALLOCATE myCursor;
SQL Server에서 OUTER APPLY는 LEFT JOIN 대신 사용할 수 있으며 성능이 훨씬 더 좋습니다(항상 그렇지는 않음). OUTER APPLY는 LEFT JOIN보다 더 많은 작업을 수행할 수 있습니다. 각 외부 행에 대해 임의의 내부 결과 집합을 생성할 수 있습니다. 예를 들어 OUTER APPLY는 TOP 1 ORDER BY… 행을 조인할 수 있습니다. 그러나 LEFT JOIN은 그렇게 할 수 없습니다. SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID; SELECT M.ID,M.NAME,D.PERIOD,D.QTY FRO..
select * from tir.dbo.table as pplh with(nolock) where pplh.print_no = 1152012 and not exists ( select 1 from table2 as pplh2 with(nolock) where pplh2.print_no = 1152013 and pplh2.mng_no = pplh.mng_no ) NOT EXISTS 절에서는 SELECT *와 SELECT 1 사이에 기능적인 차이가 없습니다. NOT EXISTS는 서브쿼리에 일치하는 행이 있는지 여부를 확인하는 데만 관심이 있기 때문입니다. 즉, 서브쿼리의 결과가 있으면 NOT EXISTS는 거짓이고 결과가 없으면 참입니다. SELECT *와 SELECT 1의 차이는 다음과 같습니다: SEL..
- Total
- Today
- Yesterday
- await
- 스프링 프레임워크(spring framewordk)
- 스프링 시큐리티(spring security)-http basic 인증
- 문자 자르기
- 제품 등록
- java web-mvc
- System.Diagnostics
- java-개발 환경 설정하기
- 표현 언어(expression language)
- 상품 등록
- MainActor
- nl2br
- .submit()
- In App Purchase
- React
- jstl(java standard tag library)
- REST API
- java 키워드 정리
- 특정 문자를 기준으로 자르기
- 람다식(lambda expression)
- jstl(java standard tag library)-core
- system.io
- 스프링 시큐리티(spring security)
- 스프링 프레임워크(spring framework)
- jsp 오픈 소스
- java.sql
- 메이븐(maven)
- 인텔리제이(intellij)
- 진수 변환
- error-java
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |