0% found this document useful (0 votes)
19 views3 pages

SQL Tasks

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
19 views3 pages

SQL Tasks

Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as TXT, PDF, TXT or read online on Scribd
You are on page 1/ 3

// 1-TOPSJIRIQ

SELECT S.orderid,S.orderdate,S.custid,S.empid
FROM Sales.Orders AS S
WHERE S.orderdate BETWEEN '2015-06-01' AND '2015-06-30'

// 2-topshiriq
SELECT S.OrderID, S.OrderDate, S.CustID, S.EmpID
FROM Sales.Orders AS S
WHERE S.OrderDate = EOMONTH(S.OrderDate);

// 3-TOPSHIRIQ
SELECT E.empid,E.firstname,E.lastname
FROM HR.Employees AS E
WHERE LEN(E.lastname)-LEN(REPLACE(LOWER(E.lastname),'e',''))>=2;

// 4-TOPSHIRIQ
SELECT S.orderid, SUM(S.qty * S.unitprice) AS totalvalue
FROM Sales.OrderDetails AS S
GROUP BY S.orderid
HAVING SUM(S.qty * S.unitprice) > 10000
ORDER BY totalvalue DESC;

// 5-TOPSHIRIQ
SELECT E.empid,E.lastname FROM HR.Employees AS E
WHERE LEFT(E.lastname,1) != UPPER(LEFT(E.lastname,1))

// 6-TOPSHIRIQ
The first one filters then,groups the results,anotherone does the difference

// 7-TOPSHIRIQ
SELECT TOP 3 S.shipcountry,AVG(S.freight) AS avgfreight
FROM Sales.Orders AS S
WHERE S.orderdate BETWEEN '2015-01-01' AND '2015-12-31'
GROUP BY S.shipcountry
ORDER BY avgfreight DESC

// 8-TOPSHIRIQ
SELECT
S.custid,
S.orderdate,
S.orderid,
ROW_NUMBER() OVER (
PARTITION BY S.custid
ORDER BY S.orderdate, S.orderid
) AS rownum
FROM Sales.Orders AS S;

// 9-TOPSHIRIQ
SELECT E.empid,E.firstname,E.lastname,E.titleofcourtesy,
CASE
WHEN E.titleofcourtesy IN ('Ms.','Mrs.') THEN 'Female'
WHEN E.titleofcourtesy = 'Mr.' THEN 'Male'
ELSE 'Unknown'
END AS gender
FROM HR.Employees AS E

// 10-TOPSHIRIQ
SELECT C.custid,C.region FROM Sales.Customers AS C
ORDER BY CASE
WHEN C.region IS NULL THEN 1
ELSE 0
END

// 11-TOPSHIRIQ
SELECT O.orderid,O.orderdate,O.custid,O.empid
FROM Sales.Orders AS O
WHERE O.orderdate = (SELECT MAX(orderdate) FROM Sales.Orders)
ORDER BY O.orderid DESC

// 12-topshiriq
SELECT O.custid, O.orderid, O.orderdate, O.empid
FROM Sales.Orders O
WHERE O.custid = (
SELECT TOP 1 custid
FROM Sales.Orders
GROUP BY custid
ORDER BY COUNT(*) DESC
);

// 13-TOPSHIRIQ
SELECT E.empid, E.lastname, E.firstname
FROM HR.Employees E
WHERE E.empid NOT IN (
SELECT O.empid
FROM Sales.Orders O
WHERE O.orderdate >= '2016-05-01'
);

// 14-TOPSHIRIQ
SELECT DISTINCT C.country
FROM Sales.Customers AS C
WHERE C.custid NOT IN (
SELECT DISTINCT E.empid FROM HR.Employees AS E
)
ORDER BY C.country

// 15-TOPSHIRIQ
SELECT O.custid,O.orderid,O.orderdate,O.empid
FROM Sales.Orders AS O
WHERE O.orderdate =
(SELECT MAX(S.orderdate)
FROM Sales.Orders AS S
WHERE S.custid = O.custid)
ORDER BY O.custid

// 16-TOPSHIRIQ
SELECT C.custid,C.companyname FROM Sales.Customers AS C
WHERE C.custid IN (
SELECT DISTINCT O.custid FROM Sales.Orders AS O
WHERE YEAR(O.orderdate ) =2015)
AND C.custid NOT IN (SELECT DISTINCT O.custid FROM Sales.Orders AS O
WHERE YEAR(O.orderdate ) =2016)

// 17-TOPSHIRIQ
SELECT C.custid,C.companyname FROM Sales.Customers AS C
JOIN Sales.Orders AS O ON O.custid = C.custid
JOIN Sales.OrderDetails AS OD ON OD.orderid = O.orderid
WHERE OD.productid = 12
ORDER BY C.companyname

// 18-TOPSHIRIQ

// 19-TOPSHIRIQ
IN checks if a value is within a set of values or results.
EXISTS checks if any rows are returned by a subquery.

// 20-TOPSHIRIQ

// 21-TOPSHIRIQ
SELECT TOP 3 P.Employee_ID,COUNT(P.Project_ID) AS PROJECT_COUNT
FROM dbo.Projects AS P
JOIN HR.Employees AS E ON E.empid = P.Employee_ID
GROUP BY P.Employee_ID
HAVING COUNT(P.Project_ID)>=3

// 22-TOPSHIRIQ
SELECT Parent
FROM tblPerson
GROUP BY Parent
HAVING COUNT(DISTINCT ChildGender) = 2;

You might also like