wordpress多站點sitemap免費建站網(wǎng)站大全
SQL查詢語句的下載腳本鏈接!!!
【免費】SQL練習資源-具體練習操作可以查看我發(fā)布的文章資源-CSDN文庫
https://download.csdn.net/download/Z0412_J0103/89908378
? ?? ?本文旨在為那些編程基礎相對薄弱的朋友們提供一份詳盡的指南,特別聚焦于在IDEA(IntelliJ IDEA)、MySQL以及Navicat等廣受歡迎的開發(fā)與數(shù)據(jù)庫管理工具中執(zhí)行SQL語句的實踐操作。無論你是編程初學者,還是希望在數(shù)據(jù)庫操作上有所提升的開發(fā)者,本文將是你不可或缺的學習資源。我們的演示將以IDEA為核心平臺,但所提供的知識和技巧同樣適用于MySQL命令行、Navicat等其他環(huán)境,確保你的學習之路寬廣且實用。
? ? ? 在探索數(shù)據(jù)庫的奧秘時,能夠親手編寫并執(zhí)行SQL語句,無疑是將理論知識轉(zhuǎn)化為實踐能力的關(guān)鍵一步。IDEA,作為Java開發(fā)者的首選IDE(集成開發(fā)環(huán)境),不僅以其強大的代碼智能提示、重構(gòu)功能著稱,還集成了對數(shù)據(jù)庫管理的支持,使得從編寫代碼到數(shù)據(jù)庫操作的無縫銜接成為可能。而MySQL,作為世界上最流行的開源關(guān)系型數(shù)據(jù)庫管理系統(tǒng)之一,其廣泛的應用場景和豐富的功能特性,為學習者和專業(yè)人士提供了廣闊的實踐空間。Navicat,則以其直觀的用戶界面和高效的數(shù)據(jù)管理能力,成為了連接數(shù)據(jù)庫、執(zhí)行復雜查詢、管理數(shù)據(jù)庫對象的得力助手。
? ? ? 本篇文章將通過一系列精心設計的示例,從零開始,逐步引導你掌握在IDEA中連接MySQL數(shù)據(jù)庫、編寫SQL查詢語句、執(zhí)行數(shù)據(jù)操作(如插入、更新、刪除)以及使用Navicat進行數(shù)據(jù)庫管理和優(yōu)化的全過程。我們不僅關(guān)注技術(shù)的正確性,更重視步驟的清晰性和易理解性,確保每一步操作都有詳盡的解釋和截圖說明,即便是初次接觸這些工具的朋友也能輕松上手。
目錄
1?使用SELECT查詢計算結(jié)果
2 使用SELECT查詢當前時間
3 提前: 切換到指定的庫
4 查詢表中數(shù)據(jù) *表示整張表所有的字段
5 查詢表中數(shù)據(jù) 將查詢的所有字段顯示出來 整理SQL結(jié)構(gòu)
6 查詢employees表中的部分字段,但是字段顯示順序為first_name、last_name、email
7 查詢employees表中的部分字段,但是字段顯示順序為email、last_name、first_name
8 查詢員工id是110的員工部分信息
9 查詢50部門的員工(部門編號為50)
10 查詢不在50部門的員工(部門編號不為50)
10 查詢工資小于 3000的員工
11 查詢工資是 [8000, 9000]范圍的員工(薪資大于等于8000 薪資小于等于9000)
12 查詢工資是 (8000, 9000)范圍的員工
13 查詢主管id是100、120、122的員工
14 沒有主管的人(manager_id 是null值)
15 查詢工資<3000,或者工資>15000
16 排除部門50,80,100,60
17 有提成的員工,commission_pct不是null
18 查詢first_name中包含'en'的員工信息(不知道en前有什么,后有什么)
19 first_name第三個和第四個字符是'en'
20 排除電話中包含'44'
21 所有的部門id(要求部分id不重復顯示),并且不顯示null
22 所有部門中,有哪些工作崗位(查詢員工表中有哪些部門和職位)
1?使用SELECT查詢計算結(jié)果
方法一:
SELECT 1 + 2;
展示結(jié)果:?
方法二:
SELECT 2 * 5;
展示結(jié)果:?
方法三:
SELECT 7 / 2;
展示結(jié)果:?
方法四:
SELECT 7 DIV 2;
展示結(jié)果:?
2 使用SELECT查詢當前時間
SELECT NOW();
展示結(jié)果:?
3 提前: 切換到指定的庫
USE hr;
展示結(jié)果:?
4 查詢表中數(shù)據(jù) *表示整張表所有的字段
SELECT *
FROM employees;
展示結(jié)果:?
5 查詢表中數(shù)據(jù) 將查詢的所有字段顯示出來 整理SQL結(jié)構(gòu)
快捷鍵:CTRL+ALT+L
表示的是自動規(guī)范化,當然你先要退出QQ,因為該快捷鍵也是QQ的自動鎖定
SELECT employee_id,
????????first_name,
????????last_name,
????????email,
????????phone_number,
????????hire_date,
????????job_id,
????????salary,
????????commission_pct,
????????manager_id,
????????department_id
FROM employees;
展示結(jié)果:?
6 查詢employees表中的部分字段,但是字段顯示順序為first_name、last_name、email
SELECT first_name, last_name, email
FROM employees;
展示結(jié)果:?
7 查詢employees表中的部分字段,但是字段顯示順序為email、last_name、first_name
SELECT email, last_name, first_name
FROM employees;
展示結(jié)果:?
8 查詢員工id是110的員工部分信息
SELECT employee_id, first_name, salary
FROM employees
WHERE employee_id = 110;
展示結(jié)果:?
9 查詢50部門的員工(部門編號為50)
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id = 50;
展示結(jié)果:?
10 查詢不在50部門的員工(部門編號不為50)
以下是兩種查詢方法,使用不等于的符號分別為“<>”、“!=”都表示同一意思。
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id <> 50;
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE department_id != 50;
展示結(jié)果:?
10 查詢工資小于 3000的員工
SELECT employee_id, first_name, salary, department_id
FROM employees
WHERE salary < 3000;
展示結(jié)果:?
11 查詢工資是 [8000, 9000]范圍的員工(薪資大于等于8000 薪資小于等于9000)
SELECT employee_id, first_name, salary
FROM employees
WHERE salary >= 8000
AND salary <= 9000;
SELECT employee_id, first_name, salary
FROM employees
WHERE salary >= 8000 && salary <= 9000;
BETWEEN x AND y 表示在x和y之間,一定要保證y>x,否則結(jié)果會為空,并且只適用于包含邊界值的情況。
SELECT employee_id, first_name, salary
FROM employees
WHERE salary BETWEEN 8000 AND 9000;
展示結(jié)果:?
12 查詢工資是 (8000, 9000)范圍的員工
SELECT employee_id, first_name, salary
FROM employees
WHERE salary > 8000
AND salary < 9000;
展示結(jié)果:?
13 查詢主管id是100、120、122的員工
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id = 100
OR manager_id = 120
OR manager_id = 122;
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id = 100
|| manager_id = 120
|| manager_id = 122;
#如果向IN提供了大量值,可能會影響效率
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id IN (100, 120, 122);
展示結(jié)果:?
14 沒有主管的人(manager_id 是null值)
#mysql的底層中,null和任何值比較都是null,不能和=鏈接,必須使用IS NULL
SELECT employee_id, first_name, manager_id
FROM employees
WHERE manager_id IS NULL;
展示結(jié)果:?
15 查詢工資<3000,或者工資>15000
SELECT employee_id, first_name, salary
FROM employees
WHERE salary < 3000
OR salary > 15000;
#查詢薪資不在[3000,15000]范圍內(nèi)的薪資
SELECT employee_id, first_name, salary
FROM employees
WHERE salary NOT BETWEEN 3000 AND 15000;
展示結(jié)果:?
16 排除部門50,80,100,60
SELECT employee_id, first_name, department_id
FROM employees
WHERE department_id NOT IN (50, 80, 100, 60);
展示結(jié)果:?
17 有提成的員工,commission_pct不是null
# 絕對不可以NOT IS NULL
SELECT employee_id, first_name, salary, commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
展示結(jié)果:?
18 查詢first_name中包含'en'的員工信息(不知道en前有什么,后有什么)
SELECT employee_id, first_name
FROM employees
WHERE first_name LIKE '%en%';
展示結(jié)果:
19 first_name第三個和第四個字符是'en'
SELECT employee_id, first_name
FROM employees
WHERE first_name LIKE '__en%';
展示結(jié)果:
20 排除電話中包含'44'
SELECT employee_id, first_name, phone_number
FROM employees
WHERE phone_number NOT LIKE '%44%';
展示結(jié)果:
21 所有的部門id(要求部分id不重復顯示),并且不顯示null
SELECT DISTINCT department_id
FROM employees
WHERE department_id IS NOT NULL;
展示結(jié)果:
22 所有部門中,有哪些工作崗位(查詢員工表中有哪些部門和職位)
SELECT DISTINCT department_id, job_id
FROM employees
WHERE department_id IS NOT NULL;
展示結(jié)果:
????上一篇文章:SQL基礎練習-CSDN博客https://blog.csdn.net/Z0412_J0103/article/details/143105982下一篇文章:SQL高級查詢02-CSDN博客
https://blog.csdn.net/Z0412_J0103/article/details/143173858