הנחיות למבחן
1. מותר להשתמש בכל חומר פתוח לרבות חיפוש באינטרנט.
2. המבחן יתבצע על גבי מחשב מול Sql Server
3. אסור לשתף פעולה בין תלמידים.
4. המבחן יתבצע על בסיס הנתונים CRM
חלק ראשון – יש לפתור 4 שאלות
מתוך 5 שאלות
1. (10 נקודות)
נתונה טבלת לקוחות Customers)) , יש להציג ממנה את כל
הנתונים עבור כל הלקוחות
שגילם הוא בין 16 שנים ל 50 שנים.
2. (10 נקודות)
נתונה טבלת מדינות (Country), יש להציג ממנה את השדות
הבאים:
מספר מדינה (CountryID) בתור טקסט : "The Country Number is : xxx"
אורך התוים של שם המדינה(CountryName) בתור טקסט: "The
Country Len is: xxx"
3. (10 נקודות)
נתונה טבלת קישור בין לקוחות וכתובות(CustomerLinkAddress) יש להציג ממנה את השדות הבאים:
CustomerLinkAddressID
+ 2.5 ולהשתמש בפונקציית Ceiling כדי לעגל כלפי מעלה.
AddressDetailsID *
0.23 ולהשתמש בפונקציית Floor כדי לעגל כלפי מטה.
4. (10 נקודות)
נתונה טבלת ערים (City) , יש להציג ממנה את
השדות הבאים:
מספר עיר (CityID)
עמודה חדשה שהשם שלה יהיה CityManipulation מורכבת מהאות הראשונה של שם העיר והאות
האחרונה של שם העיר.
5. (10 נקודות)
נתונה טבלת ערים(City)ת יש להציג ממנה את השדות
הבאים:
מספר עיר(CityID)
עמודה חדשה שתיקרא 1AsciiSign שתכיל את מספר ה ASCII של התו הראשון בעמודה CitySign
עמודה חדשה שתיקרא 2AsciiSign שתכיל את מספר ה ASCII של התו השני בעמודה CitySign
חלק שני – יש לפתור 3 שאלות מתוך 6 כל שאלה 20 נקודות
6. (20 נקודות)
נתונה טבלת פרטי כתובות (AddressDetails) . יש להציג את העמודות
הבאות:
AddressDetailsID
AddressTypeName בעזרת Join עם טבלת AddressType
CountryName בעזרת Join עם טבלת Country
CityName בעזרת Join עם טבלת City
StreetName בעזרת Join עם טבלת Streets
7. (20 נקודות)
נתונה טבלת קשרי לקוחות ומחלקות. (CustomerLinkDepartment)
יש להציג את שמות כל המחלקות DepartmentName על ידי Join לטבלת Department
ולהציג בעמודה נוספת כמה לקוחות מקושרים
לכל מחלקה.
(רמז: Group By +
Count)
8. (20 נקודות)
9. באיזה סדר מפעיל ה SQL את פעולות השאילתא? כתוב מספר ליד כל פעולה
שמציין את המיקום שלה בסדר הפעולות. (הכוונה היא לאן הולך המנוע כשהוא מפענח
שאילתא. מי קודם למי...)
SELECT
FROM
WHERE
GROUP BY
HAVING
ORDER BY
(20 נקודות)
10. הצג מטבלת לקוחות (Customers) את השם הפרטי ושם המשפחה
בעמודה אחת באותיות גדולות בלבד, עבור כל הלקוחות ששמם הפרטי מתחיל באות 'E' או באות 'Y ' אבל מותר לך להשתמש בפונקציית SUBSTRING בלבד בתוך ה WHERE
(20 נקודות.)
11. יש להציג מטבלת לקוחות (Customers) את השם הפרטי ואת שם המשפחה, עבור כל
הלקוחות שהם בני 18 לפחות, והם גרים בעיר 'Tel Aviv' או בעיר 'Bnei Brak' או 'Paris'
מבחן שליש א' – בסיסי נתונים פתרונות
שאלה 1
SELECT
* FRO
M
Customers WHERE
DateDiff(yy,BirthDate,GetDate())
Between 18 and 50
שאלה 2
SELECT
'The Country Number is : ' + Cast(CountryID as Varchar(20)) ,
'The country Len is :' +
Cast(Len(CountryName))
FROM
Country
שאלה 3
Select
Ceiling(CustomerLinkAddressID + 2.5) as Col1,
Floor(AddresDetyailsID*0.23) as Col 2
FROM CustomerLinkAddress
שאלה 4
SELECT
CityID , Left(CityName,1) + Right(CityName,1) as CityManipulation
FROM
City
שאלה 5
SELECT
CityID,
Ascii(SubString(CityName,1,1))
+ cast(Ascii(Substring(CityName,2,1))
as varchar(2))
From
City
פתרונות כפי שהגשתי:
--1
select *
from
customers
where (datediff(yy,birthdate,getdate())) between 16 and 50
--2
select 'the Country number is = ' +
cast(countryid
as char(10)) as countryid,
'The Country Len is = ' + cast(len(countryname) as char(10)) as [LenOfCountryNmae]
from
country
--3
select CEILING(CustomerLinkAddressID
+ 2.5) as CustomerLinkAddressID,
Floor (AddressDetailsID * 0.23) as AddressDetailsID
from
CustomerLinkAddress
--4
select
cityid,substring(cityname,1,1)+' '+ substring(cityname,len(cityname),1) as CityManipulation
from
city
--5
select
cityID, ASCII(substring(citySign,1,1)) as AsciiSign1,
ASCII(substring(citySign,2,1)) as AsciiSign2
from
city
--6
select d.AddressDetailsID,t.AddressTypeName ,c.CountryName,ci.CityName , s.StreetName
from AddressDetails
d join AddressType t
on d.AddressTypeID = t.AddressTypeID
join
Country c
on c.CountryID = d.CountryID
join
city ci
on ci.CityID = d.CityID
join
Streets s
on s.StreetID = d.StreetID
--7
select d.DepartmentName ,count(CustomerLinkDepartmentID) as [count]
from
CustomerLinkDepartment c join Department d
on d.DepartmentID = c.DepartmentID
group by d.Departmentname
--9
1 FROM
2 WHERE
3 GROUP
BY
4 HAVING
5 SELECT
6 ORDER
BY
יתכן שהפתרונות לא נכונים~
אין תגובות:
הוסף רשומת תגובה