Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- --1. Имената на отделите, които се намират в Washington, сортирани по име на отдел низходящо;
- SELECT NAME,
- STATE
- FROM DEPARTMENTS
- WHERE STATE = 'Washington'
- ORDER BY NAME DESC
- --2. Име на регион и съответния брой държави в него. В резултатния набор да участват само регионите с повече от 5 държави;
- SELECT R.NAME,
- COUNT(C.COUNTRY_ID) CountryCOUNT
- FROM REGIONS R JOIN COUNTRIES C
- ON R.REGION_ID = C.REGION_ID
- GROUP BY R.NAME
- HAVING COUNT(C.COUNTRY_ID) > 5
- --3. Изведете имената, месечната заплата и идентификатора на длъжността на служителите,
- -- които работят в отдел 80 и не са обработвали поръчки до момента;
- SELECT E.FNAME,
- E.LNAME,
- E.SALARY,
- E.JOB_ID,
- COUNT(O.ORDER_ID) [Orders count]
- FROM EMPLOYEES E LEFT JOIN ORDERS O
- ON O.EMPLOYEE_ID = E.EMPLOYEE_ID
- WHERE E.DEPARTMENT_ID = 80
- GROUP BY E.FNAME, E.LNAME, E.SALARY, E.JOB_ID
- HAVING COUNT(O.ORDER_ID) = 0
- --4. Имена на 5-ма служители, които са обработвали най-много поръчки във фирмата;
- SELECT TOP(5) E.FNAME,
- E.LNAME,
- COUNT(O.ORDER_ID) [Orders count]
- FROM EMPLOYEES E JOIN ORDERS O
- ON E.EMPLOYEE_ID = O.EMPLOYEE_ID
- GROUP BY E.FNAME, E.LNAME
- ORDER BY 3 DESC
- --5. Да се създаде изглед в примерната база данни PCTrade, който да съдържа фамилия на клиент,
- -- брой поръчки, които е направил. В резултатния набор да участват и клиентите, които все още не са правили поръчки;
- CREATE VIEW CustomerOrdersView
- AS
- SELECT C.LNAME, COUNT(O.ORDER_ID) [Orders count]
- FROM CUSTOMERS C LEFT JOIN ORDERS O
- ON C.CUSTOMER_ID = O.CUSTOMER_ID
- GROUP BY C.LNAME
- select * from CustomerOrdersView
Add Comment
Please, Sign In to add comment