반응형

Database/SQL Server 81

SQL Server - Intersect 연산자(operator)

Intersect 연산자는 왼쪽 쿼리와 오른쪽 쿼리의 공통된 레코드를 검색한다.(교집합) Intersect operator retrieves the common records from both the left and the right query of the Intersect operator. - SQL Server 2005에 소개됨. Introduced in SQL Server 2005 - 양쪽 두 쿼리에서 열의 개수와 순서가 같아야 한다. The number and the order of the columns must be same in both the queries - 데이터 타입은 같거나 반드시 호환이 가능해야 한다. The data types must be same or at least compa..

Database/SQL Server 2020.12.11

SQL Server - Except 연산자(operator)

EXCEPT 연산자는 오른쪽 쿼리 결과에 없는 왼쪽 쿼리에서만 있는 고유한 행을 리턴한다. EXCEPT operator returns unique rows from the left query that aren't in the right query's results. - SQL Server 2005에 소개되었다. Introduced in SQL Server 2005 - 열의 개수와 순서는 두 쿼리에서 동일해야 한다. The number and the order of the columns must be the same in both the queries --안되는 경우 Select Name, Id, Gender from TableA Except Select Name, Id from TableB --컬럼의 숫..

Database/SQL Server 2020.12.11

SQL Server - 데이터베이스 교착 상태 Database Deadlock

교착 상태란? What is a deadlock? 데이터베이스에서의 교착 상태는 두 개나 그 이상의 프로세스가 자신의 리소스를 잠가버리고 서로의 리소스에 request를 하는 것을 말한다. 한마디로 아다리가 맞지 않아 서로 일을 하지 못하는 상태이다. 각 트랜잭션은 request로 잠금이 풀리길 기다리기 때문에 더 이상 진행이 될 수 없다. In a database, a deadlock occurs when two or more processes have a resource locked, and each process requests a lock on the resource that another process has already locked. Neither of the transactions here..

Database/SQL Server 2020.12.11

SQL Server - 동시에 일어나는 트랜잭션 Concurrent Transactions

트랜잭션이란 ? 트랜잭션은 데이터베이스에 저장된 데이터를 변경하는 명령문의 집합이다. 예전에 포스트한 글에도 개념 설명이 있지만 여기서도 또 나온다. 트랜잭션은 단일 작업 단위로 취급된다. A transaction is a group of commands that change the data stored in a database. A transaction, is treated as a single unit of work. 동시에 일어나는 트랜잭션은 은행으로 예를 들어 생각하면 쉽다. -- Transfer $100 from Mark to Mary Account BEGIN TRY BEGIN TRANSACTION UPDATE Accounts SET Balance = Balance - 100 WHERE Id =..

Database/SQL Server 2020.12.10

SQL Server - 재사용 가능한 스크립트 Re-runnable sql server script

재사용 가능한 스크립트란 ? 마구재사용을 해도 에러가 나지 않는 스크립트를 말한다. USE [Sample] Create table tblEmployee ( ID int identity primary key, Name nvarchar(100), Gender nvarchar(10), DateOfBirth DateTime ) --위의 쿼리가 하려는 것을 재사용 가능하게 만든 것 Use [Sample] If not exists (select * from information_schema.tables where table_name = 'tblEmployee') Begin Create table tblEmployee ( ID int identity primary key, Name nvarchar(100), Gend..

Database/SQL Server 2020.12.10

SQL Server - 모든 테이블의 리스트 T-SQL query

SQL sever management studio 에서 특정 데이트베이스의 테이블 리스트를 불러오기 위해 쓸 수 있는 3가지의 쿼리가 있음. -- Gets the list of tables only Select * from SYSOBJECTS where XTYPE = 'U' -- Gets the list of tavbles only Select * from SYS.TABLES -- Gets the list of tables and views Select * from INFORMATION_SCHEMA.TABLES -- Gets the list of different object types(XTYPE) in da database Select Distinct XTYPE from SYSOBJECTS -- Get..

Database/SQL Server 2020.12.10

SQL Server - 서브 쿼리 Subqueries, 상관 서브 쿼리 Correlated sub query

example 문제 한번도 안 팔린 제품은 무엇인가? Select Id, Name from tblProducts where Id NOT IN (Select distinct ProductId from tblProductsales) Join Select tblProducts.Id, Name from tblProducts left join tblProductSales on tblProducts.Id = tblProductSales.ProductId where tblProductSales.ProductId is null 문제 Name이랑 TotalQuantity sold 를 나타나게하는 쿼리가 필요 Subquery Select Name, (Select SUM(QuantitySold) from tblProduct..

Database/SQL Server 2020.12.09
반응형