查询去重_【Freya的MySQL课堂】DQL基础查询
MYSQL
基礎(chǔ)查詢(xún)
各位小伙伴們晚上好,今天是10月22號(hào)。
我是你們的Freya。
今天我們開(kāi)始學(xué)習(xí)MySQL中的DQL語(yǔ)言。
Do Not Stop Learning
我
的
小
課
堂
我愛(ài)學(xué)習(xí),學(xué)習(xí)使我快樂(lè)
今天你學(xué)習(xí)了嗎?
一、語(yǔ)法
select 查詢(xún)列表
from 表名;
二、特點(diǎn)
1、查詢(xún)列表可以是字段、常量、表達(dá)式、函數(shù),也可以是多個(gè)
2、查詢(xún)結(jié)果是一個(gè)虛擬表
三、示例
1、查詢(xún)單個(gè)字段
select 字段名 from 表名;
2、查詢(xún)多個(gè)字段
select 字段名,字段名 from 表名;
3、查詢(xún)所有字段
select * from 表名
4、查詢(xún)常量
select 常量值;
注意:字符型和日期型的常量值必須用單引號(hào)引起來(lái),數(shù)值型不需要
5、查詢(xún)函數(shù)
select 函數(shù)名(實(shí)參列表);
6、查詢(xún)表達(dá)式
select 100/1234;
7、起別名
①as
②空格
8、去重
select distinct 字段名 from 表名;
9、+
作用:做加法運(yùn)算
select 數(shù)值+數(shù)值; 直接運(yùn)算
select 字符+數(shù)值;先試圖將字符轉(zhuǎn)換成數(shù)值,如果轉(zhuǎn)換成功,則繼續(xù)運(yùn)算;否則轉(zhuǎn)換成0,再做運(yùn)算
select null+值;結(jié)果都為null
10、【補(bǔ)充】concat函數(shù)
功能:拼接字符
select concat(字符1,字符2,字符3,...);
11、【補(bǔ)充】ifnull函數(shù)
功能:判斷某字段或表達(dá)式是否為null,如果為null 返回指定的值,否則返回原本的值
select ifnull(commission_pct,0) from employees;
12、【補(bǔ)充】isnull函數(shù)
功能:判斷某字段或表達(dá)式是否為null,如果是,則返回1,否則返回0
我
的
小
課
堂
戀愛(ài)可以慢慢談,知識(shí)必須現(xiàn)在學(xué)
#進(jìn)階1:基礎(chǔ)查詢(xún)
/*
語(yǔ)法:
select 查詢(xún)列表 from 表名;
類(lèi)似于:System.out.println(打印東西);
特點(diǎn):
1、查詢(xún)列表可以是:表中的字段、常量值、表達(dá)式、函數(shù)
2、查詢(xún)的結(jié)果是一個(gè)虛擬的表格
*/
USE myemployees;
#1.查詢(xún)表中的單個(gè)字段
SELECT last_name FROM employees;
#2.查詢(xún)表中的多個(gè)字段
SELECT last_name,salary,email FROM employees;
#3.查詢(xún)表中的所有字段
#方式一:
SELECT?
? ? `employee_id`,
? ? `first_name`,
? ? `last_name`,
? ? `phone_number`,
? ? `last_name`,
? ? `job_id`,
? ? `phone_number`,
? ? `job_id`,
? ? `salary`,
? ? `commission_pct`,
? ? `manager_id`,
? ? `department_id`,
? ? `hiredate`?
FROM
? ? employees ;
#方式二:??
?SELECT * FROM employees;
?#4.查詢(xún)常量值
?SELECT 100;
?SELECT 'john';
?#5.查詢(xún)表達(dá)式
?SELECT 100%98;
?#6.查詢(xún)函數(shù)
?SELECT VERSION();
?#7.起別名
?/*
?①便于理解
?②如果要查詢(xún)的字段有重名的情況,使用別名可以區(qū)分開(kāi)來(lái)
?*/
?#方式一:使用as
SELECT 100%98 AS 結(jié)果;
SELECT last_name AS 姓,first_name AS 名 FROM employees;
#方式二:使用空格
SELECT last_name 姓,first_name 名 FROM employees;
#案例:查詢(xún)salary,顯示結(jié)果為 out put
SELECT salary AS "out put" FROM employees;
#8.去重
#案例:查詢(xún)員工表中涉及到的所有的部門(mén)編號(hào)
SELECT DISTINCT department_id FROM employees;
#9.+號(hào)的作用
/*
java中的+號(hào):
①運(yùn)算符,兩個(gè)操作數(shù)都為數(shù)值型
②連接符,只要有一個(gè)操作數(shù)為字符串
mysql中的+號(hào):
僅僅只有一個(gè)功能:運(yùn)算符
select 100+90; 兩個(gè)操作數(shù)都為數(shù)值型,則做加法運(yùn)算
select '123'+90;只要其中一方為字符型,試圖將字符型數(shù)值轉(zhuǎn)換成數(shù)值型
如果轉(zhuǎn)換成功,則繼續(xù)做加法運(yùn)算
select 'john'+90;如果轉(zhuǎn)換失敗,則將字符型數(shù)值轉(zhuǎn)換成0
select null+10; 只要其中一方為null,則結(jié)果肯定為null
*/
#案例:查詢(xún)員工名和姓連接成一個(gè)字段,并顯示為 姓名
SELECT CONCAT('a','b','c') AS 結(jié)果;
SELECT?
CONCAT(last_name,first_name) AS 姓名
FROM
employees;
課后作業(yè)
測(cè) 試
1. 下面的語(yǔ)句是否可以執(zhí)行成功
select last_name , job_id , salary as sal
from employees;
2. 下面的語(yǔ)句是否可以執(zhí)行成功
select * from employees;
3. 找出下面語(yǔ)句中的錯(cuò)誤
select employee_id , last_name,
salary * 12 “ANNUAL SALARY”
from employees;
4. 顯示表departments的結(jié)構(gòu),并查詢(xún)其中的全部數(shù)據(jù)
5. 顯示出表employees中的全部job_id(不能重復(fù))
6. 顯示出表employees的全部列,各個(gè)列之間用逗號(hào)連接,列頭顯示成OUT_PUT
-END-
Freya 學(xué)數(shù)據(jù)分析
關(guān)注我,帶你學(xué)知識(shí)~
總結(jié)
以上是生活随笔為你收集整理的查询去重_【Freya的MySQL课堂】DQL基础查询的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: frp+nginx实现内网穿透
- 下一篇: linux cmake编译源码,linu