oracle左連接沒用_一周零基礎學完Oracle數據庫第三天02

四、 多表查詢

1 什么是多表查詢

多表查詢:當查詢的數據并不是來源一個表時,需要使用多表鏈接操作完成查詢。根據 不同表中的數據之間的關系查詢相關聯的數據。

87f58a118fb3e9ed392e3ede26ef1459.png

多表鏈接方式: 內連接:連接兩個表,通過相等或不等判斷鏈接列,稱為內連接。在內連接中典型 的聯接運算有 = 或 <> 之類的比較運算符。包括等值聯接和自然聯接 等值連接 非等值連接 自連接 SQL99:交叉鏈接(CROSS JOIN) SQL99:內連接(INNERJOIN) SQL99:自然鏈接(NATURALJOIN) 外連接:在兩個表之間的連接,返回內連接的結果,同時還返回不匹配行的左(或

右)表的連接,稱為左(或右)連接。返回內連接的結果, 同時還返回左和右連接, 稱為全連接。 左外鏈接 右外鏈接 全外鏈接 子查詢:當一個查詢是另一個查詢的條件時,稱之為子查詢。

2 笛卡爾乘積

2.1什么是笛卡爾乘積

笛卡爾乘積是指在數學中,兩個集合 X 和 Y 的笛卡尓積(Cartesianproduct),又稱直 積,表示為 X*Y,第一個對象是 X 的成員而第二個對象是 Y 的所有可能有序對的其中一 個成員。

2.2如何避免出現笛卡爾乘積

當一個連接條件無效或被遺漏時,其結果是一個笛卡爾乘積 (Cartesian product),其中 所有行的組合都被顯示。第一個表中的所有行連接到第二個表中的所有行。一個笛卡爾乘積 會產生大量的行,其結果沒有什么用。應該在 WHERE 子句中始終包含一個有效的連接條 件。

2.3示例 select * from employees,departments;

3 多表連接語法

3.1語法結構

使用一個連接從多個表中查詢數據。

aa93689a7f40cd121e11de37e02b5cf7.png

3.2定義連接

當數據從多表中查詢時,要使用連接 (join) 條件。一個表中的行按照存在于相應列中

的值被連接到另一個表中的行。

3.3原則

? 在寫一個連接表的 SELECT 語句時,在列名前面用表名或者表別名可以使語義清楚, 并且加快數據庫訪問。 ? 為了連接 n 個表在一起,你最少需要 n-1 個連接條件。例如,為了連接 4 個表, 最少需要 3 個連接條件。

4 等值連接

4.1什么等值連接

等值連接也被稱為簡單連接 (simple joins) 或內連接 (inner joins)。是通過等號來判斷連 接條件中的數據值是否相匹配。

4.2抉擇矩陣 (decision matrix)

是通過行與列來分析一個查詢的方式。 例如,如果你想顯示同一個部門中所有名字為 Taylor 的雇員的名字和部門名稱,可以 寫出下面的決策矩陣: 投影列 源表 條件 last_name employees last_name=‘Taylor’ department_name departments employees.department_id = departments.department_id

4.2.1示例一

查詢所有雇員名字以及他們所在的部門名稱。

select last_name,department_name from employees , departments where employees.department_id = departments.department_id;

4.3使用 AND 操作符附加搜索條件

除連接之外,還可以要求用 WHERE 子句在連接中限制一個或多個表中的行。

4.3.1示例二

顯示同一個部門中所有名字為 Taylor 的雇員的名字和部門號。select last_name,department_name from employees , departments where employees.department_id = departments.department_id and last_name = 'Taylor';

4.4使用表別名

使用表別名簡化查詢語句的長度。

4.4.1表別名

可以使用表別名代替表名。就象列別名給列另一個名字一樣。表別名有助于保持 SQL 代碼較小,因此使用的存儲器也少。

4.4.2使用表別名原則

? 表別名最多可以有 30 個字符,但短一些更好。 ? 如果在 FROM 子句中表別名被用于指定的表,那么在整個 SELECT 語句中都可以 使用表別名。 ? 表別名應該是有意義的。 ? 表別名只對當前的 SELECT 語句有效。

4.4.3示例

使用表別名方式改寫顯示同一個部門中所有名字為 Taylor 的雇員的名字和部門號。 select em.last_name, de.department_name from employees em,departments de where em.department_id = de.department_id and em.last_name = 'Taylor';

4.5多于兩個表的連接

為了連接 n 個表,你最少需要 n-1 個連接條件。例如,為了連接 3 個表,最少需要 兩個連接。

4.5.1示例一

查詢每個雇員的 last name、department name 和 city(city 來源于 locations 表)。 select em.last_name,de.department_name ,lo.city - Registered at Name cheap.com from employees em,departments de,locations lo where em.department_id = de.department_id and de.location_id = lo.location_id;

4.5.2示例二

查詢 Taylor 的雇員 ID、部門名稱、和工作的城市。 select em.employee_id, em.last_name,de.department_name ,lo.city - Registered at Namecheap.com fromemployees em,departments de,locations lo where em.department_id = de.department_id and de.location_id = lo.location_id and em.last_name = 'Taylor';

5 非等值連接

5.1非等值連接

一個非等值連接是一種不使用相等(=)作為連接條件的查詢。如!=、>、<、>=、<=、 BETWEEN AND 等都是非等值鏈接的條件判斷。

5.2創建案例表 create table JOB_GRADES ( lowest_sal NUMBER, highest_sal NUMBER, gra VARCHAR2(10) )

3a3de18b8c5f6544121d4a51df50bed5.png

5.3示例

查詢所有雇員的薪水級別。

select em.last_name,em.salary,gr.gra from employees em ,job_grades gr where em.salary between gr.lowest_sal and gr.highest_sal;

6 自連接

6.1什么是自連接

使用一個表連接它自身的操作。

6.2示例

查詢每個雇員的經理的名字以及雇員的名字。

select worker.last_name,manager.last_name from employees worker,employees manager where worker.manager_id = manager.employee_id;

7 外連接(OUTER JOIN)

7.1什么是外連接

外連接是指查詢出符合連接條件的數據同時還包含孤兒數據。左外鏈接包含左表的孤兒 數據,右外連接包含右表的孤兒數據,全外連接包含兩個表中的孤兒數據。

7.2孤兒數據(Orphan Data)

孤兒數據是指被連接的列的值為空的數據。

7.3外連接類型

左外(LEFT OUTER JOIN):包含左表的孤兒數據。 右外(RIGHT OUTER JOIN):包含右表的孤兒數據。 全外(FULL OUTER JOIN):包含兩個表中的孤兒數據。

7.4 SQL 99 中的外連接

SQL 99 外連接語法格式: 用 LEFT OUTER JOIN | RIGHT OUTER JOIN | FULL OUTER JOIN 定義連接類型,用 ON 子句創建連接條件。

7.4.1左外鏈接(LEFT OUTER JOIN)

7.4.1.1 示例

用左外鏈接查詢雇員名字以及他們所在的部門名稱,包含那些沒有部門的雇員。 selecte.last_name,d.department_namefrom employees e left outer join departments d on e.department_id = d.department_id;

7.4.2右外鏈接(RIGHT OUTER JOIN)

7.4.2.1 示例

用右外鏈接查詢雇員名字以及他們所在的部門名稱,包含那些沒有雇員的部門。 selecte.last_name,d.department_namefrom employees e right outer join departments d on e.department_id = d.department_id;

7.4.3全外鏈接(FULL OUTER JOIN)

7.4.3.1 示例

查詢所有雇員和部門,包含那些沒有雇員的部門以及沒有部門的雇員。 selecte.last_name,d.department_name from employees e full outer join departments d on e.department_id = d.department_id;

7.5 Oracle 擴展的外連接

在 Oracle 數據庫中對外連接中的左外與右外連接做了擴展,可以簡化外連接的語法。 通過在連接條件的后側使用(+)來表示是否顯示孤兒數據,有(+)表示不顯示孤兒數據而另一 側則顯示孤兒數據。但是該種寫法僅能在 Oracle 數據庫中使用。

7.5.1示例一

查詢雇員名字以及他們所在的部門名稱,包含那些沒有雇員的部門。 selecte.last_name,d.department_name from employees e ,departments d where e.department_id(+) = d.department_id;

7.5.2示例二

查詢雇員名字以及他們所在的部門名稱,包含那些沒有部門的雇員。

selecte.last_name,d.department_name from employees e ,departments d where e.department_id = d.department_id(+);

8 SQL 99 中的交叉連接

?CROSS JOIN 子句導致兩個表的交叉乘積 ? 該連接和兩個表之間的笛卡爾乘積是一樣的

286f85f1f6ed4a052db945debeb62ac4.png

8.1示例

查詢 Employees 表與 Departments 表的笛卡爾乘積。 select * from employees cross join departments;

9 SQL 99 中的自然連接(NATURAL JOIN)

?NATURAL JOIN 子句基于兩個表之間有相同名字的所有列。 ? 它從兩個表中選擇在所有的匹配列中有相等值的行。 ? 如果有相同名字的列的數據類型不同,返回一個錯誤。

9.1使用自然連接需要注意

1.如果做自然連接的兩個表的有多個字段都滿足有相同名稱個類型,那么他們會被作為 自然連接的條件。

2.如果自然連接的兩個表僅是字段名稱相同,但數據類型不同,那么將會返回一個錯誤。

3.由于 oracle 中可以進行這種非常簡單的 natural join,我們在設計表時對具有相同含 義的字段需要考慮到使用相同的名字和數據類型。

9.2示例

查詢部門 ID,部門名稱以及他們所在的城市。 select

d.department_id,d.department_name,l.city from departments d natural join locations l;

9.3用 USING 子句創建連接

? 當有多個列匹配時,用 USING 子句匹配唯一的列。 ? 如果某列在 USING 中使用,那么在引用該列時不要使用表名或者別名。 ?NATURAL JOIN 和 USING 子句是相互排斥的。

9.3.1示例

查詢 location_id 為 1800 的部門名稱以及他們所在的城市名稱,指定 location_id 為連接

列。

select d.department_name,l.city from departments d join locations l using(location_id) where location_id = 1800;

10 SQL 99 中的內連接(INNER JOIN)

內連接(INNER JOIN): 內連接通過 INNER JOIN 來建立兩個表的連接。在內連接中使 用 INNER JOIN 作為表的連接,用 ON 子句給定連接條件。INNER JOIN 語句在性能上其他 語句沒有性能優勢。

10.1示例

查詢雇員 id 為 202 的雇員名字,部門名稱,以及工作的城市。

等值連接: select e.last_name,d.department_name,l.city from employees e,departments d ,locations l where e.department_id = d.department_id and d.location_id = l.location_id and e.employee_id = 202;

內連接: select e.last_name,d.department_name,l.city from employees e inner join departments d on e.department_id = d.department_id inner join locations l on d.location_id = l.location_id where e.employee_id = 202;

在內連接中使用 USING 子句定義等值連接

select e.last_name,d.department_name,l.city from employees e inner join departments d using(department_id) inner join locations l using(location_id) where e.employee_id = 202;

11 多表查詢小節練習

11.1寫一個查詢顯示所有雇員的

last name、department number、and department_name。

答案(等值): select e.last_name,e.department_id,d.department_na me from employees e ,departments d where e.department_id = d.department_id;

答案(內連接): select e.last_name,e.department_id,d.department_name from employees e inner join departments d on(e.department_id = d.department_id);

11.2查詢部門編號 80 中的所有工作崗位的唯一列表,在輸出中包括部門編號、地點編號。

答案: select distinct e.job_id,d.location_id from employees e,departments d where e.department_id = d.department_id and e.department_id = 80;

11.3寫 一 個 查 詢 顯 示 所 有 有 傭 金 的 雇 員 的 last name、 department name、location ID 和城市。

答案: select e.last_name,d.department_name,l.location_id, l.city from employees e,departments d,locations l where e.department_id = d.department_id and d.location_id = l.location_id and e.commission_pct is not null;

11.4顯示所有在其 last names 中有一個小寫 a 的雇員的 last name 和 department name。

答案: selecte.last_name,d.department_name from employees e,departments d where

e.department_id = d.department_id and e.last_name like '%a%';

11.5使用內連接寫一個查詢顯示那些工作在 Toronto 的所有雇 員 的 last name 、 job 、 department number 和 department name。

答案: select e.last_name,e.job_id,e.department_id,d.depatment_name from employees e inner join departments d on(e.department_id = d.department_id) inner join locations l on(d.location_id = l.location_id) where lower(l.city) ='toronto';

11.6顯示雇員的 lastname 和 employeenumber 連同他們的 經理的 last name 和 manager number。列標簽分別為 Employee、Emp#、Manager 和 Mgr#。

答案: select emp.last_name "Employee",emp.employee_id "Emp#",manager.last_name "Manager" ,manager.employee_id "Mar#" from employees emp ,employees manager where

emp.manager_id = manager.employee_id;

11.7查詢所有雇員的經理包括 King,他沒有經理。顯示雇員的 名字、雇員 ID、經理名、經理 ID、用雇員號排序結果。

答案: select emp.last_name "Employee",emp.employee_id "Emp#",manager.last_name "Manager" ,manager.employee_id "Mar#" from employees emp left outer join employees manager on(emp.manager_id = manager.employee_id);

11.8創建一個查詢顯示所有與被指定雇員工作在同一部門的雇員 (同事) 的 last names、department numbers。給每列一個適當的標簽。

答案: select e.last_name, e.department_id from employees e , employees c where c.department_id = c.department_id and e.employee_id <> c.employee_id;

11.9顯示 JOB_GRADES 表的結構。創建一個查詢顯示所有雇員 的 name、job、department name、salary 和 grade。

答案:

select e.last_name,e.job_id,d.department_name,e.sa lary,j.gra from employees e,departments d,job_grades j where e.department_id = d.department_id and e.salary between j.lowest_sal and j.highest_sal;

11.10 創建一個查詢顯示那些在雇員 Davies 之后入本公司工作 的雇員的 name 和 hiredate

答案: select e.last_name,e.hire_date from employees e ,employees d where d.last_name = 'Davies' and d.hire_date < e.hire_date;

11.11 顯示所有雇員的 names 和 hiredates,他們在他們的經理之前進入本公司,連同他們的經理的名字和受雇日期一起顯示。列標簽分別為 Employee、Emp Hired、Manager 和 Mgr Hired。

答案: select e.last_name,e.hire_date,m.last_name,m.hire_ date from employees e,employees m where e.manager_id = m.employee_id and e.hire_date < m.hire_date;

五、 組函數(聚合函數)

1 組函數介紹

1.1什么是組函數

組函數操作行集,給出每組的結果。組函數不象單行函數,組函數對行的集合進行操作, 對每組給出一個結果。這些集合可能是整個表或者是表分成的組。

97ae7873e0998a475eb0ad809103ecd9.png

1.2組函數與單行函數區別

單行函數對查詢到每個結果集做處理,而組函數只對分組數據做處理。 單行函數對每個結果集返回一個結果,而組函數對每個分組返回一個結果。

1.3組函數的類型

?AVG 平均值 ?COUNT 計數 ?MAX 最大值 ?MIN 最小值 ?SUM 合計

1.4組函數的語法

845a9b4f2193b57aaf04cef2b6bbcfb8.png

1.5使用組函數的原則

? 用于函數的參數的數據類型可以是 CHAR、VARCHAR2、NUMBER 或 DATE。 ? 所有組函數忽略空值。為了用一個值代替空值,用 NVL、NVL2 或 COALESCE 函

數。

2 組函數的使用

2.1使用 AVG 和 SUM 函數

AVG(arg)函數:對分組數據做平均值運算。 arg:參數類型只能是數字類型。

SUM(arg)函數:對分組數據求和。 arg:參數類型只能是數字類型。

2.1.1示例

求雇員表中的的平均薪水與薪水總額。 select avg(salary) ,sum(salary) from employees;

2.2使用 MIN 和 MAX 函數

MIN(arg)函數:求分組中最小數據。 arg:參數類型可以是字符、數字、日期。

MAX(arg)函數:求分組中最大數據。 arg:參數類型可以是字符、數字、日期。

2.2.1示例

求雇員表中的最高薪水與最低薪水。 select min(salary),max(salary) from employees;

2.3使用 COUNT 函數

COUNT 函數:返回一個表中的行數。

COUNT 函數有三種格式: ?COUNT(*) ?COUNT(expr) ?COUNT(DISTINCT expr)

2.3.1 COUNT(*)

返回表中滿足 SELECT 語句標準的行數,包括重復行,包括有空值列的行。如果 WHERE 子句包括在 SELECT 語句中,COUNT(*) 返回滿足 WHERE 子句條件的行數。

2.3.1.1 示例一

返回查詢結果的總條數。 select count(*) from employees;

2.3.2 COUNT(expr)函數

返回在列中的由 expr 指定的非空值的數。

2.3.2.1 示例二 顯示部門 80 中有傭金的雇員人數。 select count(commission_pct) from employees e where e.department_id = 80;

2.3.3 COUNT (DISTINCT expr):

使用 DISTINCT 關鍵字禁止計算在一列中的重復值。

2.3.3.1 示例三 顯示 EMPLOYEES 表中不重復的部門數。 select count(distinct department_id) from employees ;

2.4組函數和 Null 值

所有組函數忽略列中的空值。 在組函數中使用 NVL 函數來處理空值。

2.4.1示例一

計算有傭金的員工的傭金平均值。 select avg(commission_pct) from employees;

2.4.2示例二

計算所有員工的傭金的平均值。 select avg(nvl (commission_pct,0)) from employees;

3 創建數據組(GROUP BY)

3.1什么是創建數據組

可以根據需要將查詢到的結果集信息劃分為較小的組,用 GROUP BY 子句實現。

590ccd1ceefc2637fe0bd8825535e148.png

3.2 GROUP BY 子句語法

0042e4f43aa1e15c31b7ea4f299f9315.png

3.3使用分組原則

? 如果在 SELECT 子句中包含了組函數,就不能選擇單獨的結果,除非單獨的列出現 在 GROUP BY 子句中。如果未能在 GROUP BY 子句中包含一個字段列表,你會收到一個 錯誤信息。 ? 使用 WHERE 子句,你可以在劃分行成組以前過濾行。 ? 在 GROUP BY 子句中必須包含列。 ? 在 GROUP BY 子句中你不能用列別名。 ? 默認情況下,行以包含在 GROUP BY 列表中的字段的升序排序。可以用 ORDER BY 子句覆蓋這個默認值。

3.4 GROUP BY 子句的使用

我們可以根據自己的需要對數據進行分組,在分組時,只要將需要做分組的列的列名添 加到 GROUP BY 子句后側就可以。GROUP BY 列不必在 SELECT 列表中。

967a99616beb45661817598a129dae5d.png

3.4.1示例一

求每個部門的平均薪水。 select department_id , avg(salary) from employees e group by e.department_id;

3.5多于一個列的分組

3e3c611ea074e15729bbaadde88818ec.png

3.5.1示例一

顯示在每個部門中付給每個工作崗位的合計薪水的報告。 select department_id,job_id, sum(salary)from employees group by

department_id,job_id order by department_id;

3.6 GROUP BY 子句的執行順序

先進行數據查詢,在對數據進行分組,然后執行組函數。

3.7非法使用 Group 函數的查詢

? 在 SELECT 列表中的任何列必須在 GROUP BY 子句中。 ? 在 GROUP BY 子句中的列或表達式不必在 SELECT 列表中。

689442a8bfc2319632e31ecb4b0e232a.png

3.8約束分組結果

3.8.1什么是 HAVING 子句

HAVING 語句通常與 GROUP BY 語句聯合使用,用來過濾由 GROUP BY 語句返回的記 錄集。 HAVING 語句的存在彌補了 WHERE 關鍵字不能與聚合函數聯合使用的不足。

3.8.2 HAVING 子句語法

46ba83603f3521472092ef11ef16e38c.png

3.8.3示例一

顯示那些最高薪水大于 $10,000 的部門的部門號和最高薪水。 select e.department_id,max(e.salary)from employees e group by e.department_id having max(e.salary) > 10000; 3.8.4示例二

查詢那些最高薪水大于 $10,000 的部門的部門號和平均薪水。 selecte.department_id,avg(e.salary)from employees e group by e.department_id having max(e.salary) > 10000;

3.9嵌套組函數

在使用組函數時我們也可以根據需要來做組函數的嵌套使用。

3.9.1示例

顯示部門中的最大平均薪水。 select max(avg(e.salary)) from employees e group by e.department_id;

4 組函數小節練習

4.1組函數在多行上計算,對每個組產生一個結果。True/False

答案:True

4.2組函數在計算中包含空值。True/False

答案:False 組函數會忽略空值,如果需要空值參與計算,需要使用 nvl 函數處理空值。

4.3在分組計算中,WHERE 子句對行的限制在計算的前面。 True/False

答案:True

4.4顯示所有雇員的最高、最低、合計和平均薪水,列標簽分別為: Maximum、Minimum、Sum 和 Average。四舍五入結果為最近的整數。

答案: select max(salary),min(salary),sum(salary),avg(sal ary) from employees;

4.5修改上題顯示每中工作類型的最低、最高、合計和平均薪水。

答案: select max(salary),min(salary),sum(salary),avg(sal ary) from employees group by job_id;

4.6寫一個查詢顯示每一工作崗位的人數。

答案: select job_id, count(*) from employees group by job_id;

4.7確定經理人數,不需要列出他們,列標簽是 Number of Managers。

答案: select count(distinct manager_id) from

employees ;

4.8寫一個查詢顯示最高和最低薪水之間的差。列標簽是 DIFFERENCE。

答案: select max(salary) - min(salary) from employees;

4.9顯示經理號和經理付給雇員的最低薪水。排除那些經理未知的 人。排除最低薪水小于等于 $6,000 的組。按薪水降序排序

輸出。

答案: select e.manager_id ,min(e.salary) from employees e where e.manager_id is not null group by e.manager_id having min(e.salary) > 6000 order by min(e.salary) desc;

4.10寫一個查詢顯示每個部門的名字、地點、人數和部門中所有

雇員的平均薪水。四舍五入薪水到兩位小數。

答案: select d.department_name,d.location_id,count(*) ,a vg(e.salary) from employees e ,departments d where e.department_id = d.department_id group by d.department_name ,d.location_id;

4.11創建一個查詢顯示雇員總數,和在 2001、2002、2003 和

受雇的雇員人數。創建適當的列標題。

答案: select count(*) total,sum(decode(to_char(hire_date,'yyyy'), '2000',1,0))"2000" ,sum(decode(to_char(hire _date,'yyyy'),'2001',1,0))"2001",sum(decode (to_char(hire_date,'yyyy'),'2002',1,0))"200 2",sum(decode(to_char(hire_date,'yyyy'),'20 03',1,0))"2003" from employees e;

4.12創建一個混合查詢顯示工作崗位和工作崗位的薪水合計,并 且合計部門 20、50、80 和 90 的工作崗位的薪水。給每

列一個恰當的列標題。

答案: select job_id,sum(salary),sum(decode(department_id, 20,salary))"Dep 20",sum(decode(department_id,50,salary))"Dep 50",sum(decode(department_id,80,salary))"Dep 80" ,sum(decode(department_id,90,salary))"Dep 90"from employees group by job_id;

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/396698.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/396698.shtml
英文地址,請注明出處:http://en.pswp.cn/news/396698.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

weblogic啟動項目報錯找不到類_啟動類報錯是經常出現的事但是單一的從一個地方找原因會越找越錯...

Error starting ApplicationContext. To display the conditions report rerun your application with debug enabled.當我們看到這個報錯的時候有的說是jar包重復&#xff0c;有的說是Controller包和Application包處于平行位置&#xff0c;還有的覺得是RequestMapping的valu…

fis

fis3實時刷新 npm install -g fis3 進入相關目錄 發布&#xff1a; fis3 release 啟動&#xff1a; fis3 server start // 服務啟動后&#xff0c;會一直存在&#xff0c;重啟或者fis3 server stop 才會關閉服務 自動刷新 fis3 release -wL關閉服務 fis3 server stop …

深入理解javascript原型和閉包(7)——原型的靈活性

在Java和C#中&#xff0c;你可以簡單的理解class是一個模子&#xff0c;對象就是被這個模子壓出來的一批一批月餅&#xff08;中秋節剛過完&#xff09;。壓個啥樣&#xff0c;就得是個啥樣&#xff0c;不能隨便動&#xff0c;動一動就壞了。 而在javascript中&#xff0c;就沒…

微型計算機一般不采用的控制方式,微型計算機控制作業.doc

作業一PID控制器引言在實際的過程控制與運動控制系統中&#xff0c;PID家族占據有相當的地位&#xff0c;據統計&#xff0c;工業控制的控制器中PID類控制占有90%以上。PID控制器是最早出現的控制器類型&#xff0c;因為其結構簡單&#xff0c;各個控制器參數有著明顯的物理意義…

js根據毫米/厘米算像素px

<html><meta http-equiv"content-type" content"text/html;charsetutf-8"><body> 紙張寬度(毫米mm)&#xff1a;<input type"text" id"width" value"10"> <span id"width_px"><…

c語言為什么有這么多的編程環境?_為什么98%的程序員學編程都會從C語言開始?...

在互聯網蓬勃發展的時代&#xff0c;有一類人做出了巨大的貢獻&#xff0c;這一群人被大家稱之為程序員&#xff0c;怎樣才能成為一名優秀的程序員呢&#xff0c;為什么每一個程序員都需要學習C語言呢&#xff1f;就讓我來跟大家分享分享&#xff1a;壹第一&#xff1a;相比較其…

怎么把電腦上的python軟件卸載干凈_怎么把一個軟件卸載干凈_把一個軟件卸載干凈的兩種方法-系統城...

平時使用電腦肯定有卸載軟件的操作&#xff0c;一般人直接用戶桌面的快捷方式刪除&#xff0c;表示軟件已經卸載干凈了&#xff0c;因為在桌面已經看不見了。其實大部分都沒有卸載干凈&#xff0c;如果沒卸載干凈&#xff0c;下載就無法安裝了&#xff0c;因為之前還有殘留文件…

2.x最終照著教程,成功使用OpenGL ES 繪制紋理貼圖,添加了灰度圖

在之前成功繪制變色的幾何圖形之后&#xff0c;今天利用Openg ES的可編程管線繪制出第一張紋理。學校時候不知道OpenGL的重要性&#xff0c;怕晦澀的語法。沒有跟老師學習OpenGL的環境配置&#xff0c;現在僅僅能利用cocos2dx 2.2.3 配置好的環境學習OpenGL ES。源碼來自《coco…

C# Dapper 簡單實例

/// <summary>/// 分頁信息/// </summary>public class PageInfo<T>{/// <summary>/// 分頁信息/// </summary>public PageInfo(){}/// <summary>/// 總頁數/// </summary>public long TotalCount{get; set;}/// <summary>///…

Angular 星級評分組件

一、需求演變及描述&#xff1a; 1. 有一個“客戶對公司的總體評價”的字段&#xff08;evalutation&#xff09;。字段為枚舉類型&#xff0c;0-5&#xff0c;對應關系為&#xff1a;0-暫無評價&#xff0c;1-很差&#xff0c;2-差&#xff0c;3-一般&#xff0c;4-好&#xf…

計算機網絡怎么查看連接打印機驅動,如何檢測網絡打印機是否已成功連接到計算機[檢測方法]...

大概很多嬰兒都像以前的編輯一樣. 使用網絡打印機時&#xff0c;有時它們可??以打印打印機沒有和電腦連接&#xff0c;有時卻不能. 那么如何檢測網絡打印機是否已成功連接到計算機&#xff1f;跟隨編輯器往下看.系統反復提示“無法打印”&#xff0c;因此本來很忙的小修幾乎快…

eclipse python插件_pydev插件下載-eclipse中的python插件下載6.0.0 官網最新版-西西軟件下載...

在eclipse中安裝python所需的插件。PyDev for Eclipse 是一個功能強大且易用的 Eclipse Python IDE 插件。利用 PyDev 插件把 Eclipse 變為功能強大且易用的 Python IDE&#xff0c;如何利用其進行 Python 程序的開發和調試。安裝方法&#xff1a;一種比較隨意的方法就是把壓縮…

a - 數據結構實驗之圖論一:基于鄰接矩陣的廣度優先搜索遍歷_數據結構--圖

故事凌 今天基本知識點圖可說是所有數據結構里面知識點最豐富的一個, 自己笨的知識點如下:階(oRDER), 度: 出度(out-Degree), 入度(in-Degree)樹(Tree), 森林(Forest), 環(Loop)有向圖(Directed Graph), 無向圖(Undirected Graph), 完全有向圖, 完全無向圖連通圖(Connected Gra…

vim: vimrc

2019獨角獸企業重金招聘Python工程師標準>>> 打造vim CIDE http://blog.csdn.net/doc_sgl/article/details/47205779 轉載于:https://my.oschina.net/u/2528742/blog/843176

計算機二級考試試題在線看,【TOP182015年全國計算機二級考試試題題庫.doc文檔免費在線閱讀材料】...

TOP182015年全國計算機二級考試試題題庫.doc文檔免費在線閱讀《2015年全國計算機二級考試試題題庫.doc》由會員分享&#xff0c;可免費在線閱讀全文&#xff0c;更多與《TOP182015年全國計算機二級考試試題題庫.doc文檔免費在線閱讀》相關文檔資源請在幫幫文庫(www.woc88.com)數…

使用flask_socketio實現客戶端間即時通信

關于flask_socketio的入門可以看我的上一篇博客《使用flask_socketio實現服務端向客戶端定時推送》 用socketio實現即時通信十分簡單&#xff0c;只需要客戶端發送用戶輸入的信息到后端&#xff0c;后端再將此信息廣播到所有連接到此命名域的客戶端就可以了。 from flask impor…

java繼承原理內存角度_Java基礎知識鞏固

最近發現自己的Java基礎知識還是有點薄弱&#xff0c;剛好有點空閑時間進行再補一補&#xff0c;然后進行整理一下&#xff0c;方便自己以后復習。其實個人認為Java基礎還是很重要的&#xff0c;不管從事Java后端開發還是Android開發&#xff0c;Java這塊的基礎還是重中之重&am…

python函數對變量的作用_python函數對變量的作用及遵循的原則

1.全局變量和局部變量全局變量&#xff1a;指在函數之外定義的變量&#xff0c;一般沒有縮進&#xff0c;在程序執行的全過程有效局部變量&#xff1a;指在函數內部使用的變量&#xff0c;僅在函數內部有效&#xff0c;當函數退出時變量將不存在例如&#xff1a;1 n1 #n是全局變…

不用開發實現RDS RDWeb門戶美化和個性化

個性化RDWeb界面RDWeb原生界面相對比較簡潔&#xff0c;每個企業部署的RDWeb都是千篇一律的&#xff0c;有些用戶可能希望將網頁裝飾得個性化點。在談到自定義Web界面&#xff0c;第一反應可能是使用代碼進行編寫&#xff0c;但是這里要和大家分享的是無代碼美化和自定義RDWeb界…

安卓使用富文本編輯器html5,Android富文本編輯器,圖文詳細

Android富文本編輯器,圖文詳細資源下載此資源下載價格為3D幣&#xff0c;請先登錄資源文件列表AndroidRichTextEditor/.classpath , 475AndroidRichTextEditor/.project , 857AndroidRichTextEditor/AndroidManifest.xml , 1281AndroidRichTextEditor/bin/AndroidManifest.xml …