нужны имя полей и тип их данных, например уникальный ID это id = PRIMARY KEY
текст = text , не пустой текст = TEXT NOT NULL ,
числа = REAL,INT время = DATE и т.д
6. SELECT, FROM, GROUP BY, WHERE, ORDER BY, HAVING
7. SELECT - указывает , что извлекать из таблицы, так же может содержать агрегирующие функции и функции времени такие как EXTRACT, DATE_TRUNC
8. FROM - указывает из какой таблицы извлекать, так же можно указать подзапрос
9. WHERE - указывает какие условия нужны для извлечения , которые указаны в SELECT, не может сравнивать агрегирующие функции , для этого есть HAVING, также может содержать подзапрос
10. GROUP BY - групирует по .., HAVING - то же самое , что WHERE , только для агрегирующих функций
11. ORDER BY - использует методы ASC(по возрастанию значений) пример - имя_поле ASC, или DESC(по убыванию значений) - имя_поля DESC
3. CREATE TABLE
нужны имя полей и тип их данных, например уникальный ID это id = PRIMARY KEY
текст = text , не пустой текст = TEXT NOT NULL ,
числа = REAL,INT время = DATE и т.д
6. SELECT, FROM, GROUP BY, WHERE, ORDER BY, HAVING
7. SELECT - указывает , что извлекать из таблицы, так же может содержать агрегирующие функции и функции времени такие как EXTRACT, DATE_TRUNC
8. FROM - указывает из какой таблицы извлекать, так же можно указать подзапрос
9. WHERE - указывает какие условия нужны для извлечения , которые указаны в SELECT, не может сравнивать агрегирующие функции , для этого есть HAVING, также может содержать подзапрос
10. GROUP BY - групирует по .., HAVING - то же самое , что WHERE , только для агрегирующих функций
11. ORDER BY - использует методы ASC(по возрастанию значений) пример - имя_поле ASC, или DESC(по убыванию значений) - имя_поля DESC
Объяснение:
Будут вопросы напиши в коменты(
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
begin
Writeln(Range(1,100).Select(i->sin(i)*cos(i)).Where(x->x<>0).Average)
end.
Тестовое решение:
-0.00136006072493969
2. А вот так учат писать это же школьные учителя:
// PascalABC.NET 3.1, сборка 1174 от 22.02.2016
var
m:array[1..100] of real;
i,k:integer;
s:real;
begin
s:=0;
k:=0;
for i:=1 to 100 do begin
m[i]:=sin(i)*cos(i);
if m[i]<>0 then begin
s:=s+m[i];
k:=k+1
end
end;
Writeln(s/k)
end.
Тестовое решение:
-0.00136006072493969