1. 程式人生 > 資料庫 >詳解SQL中的DQL查詢語言

詳解SQL中的DQL查詢語言

DQL

DQL:data Query language 資料查詢語言

格式:select[distinct] 欄位1,欄位2 from 表名 where 控制條件

(distinct: 顯示結果時,是否去除重複列 給哪一列去重就在哪一列欄位前加入distinct)
學生表

(1)查詢表中的所有資訊

SELECT * FROM student

(2)查詢表中的所有學生姓名和對應的英語成績

SELECT name,english FROM student

注:可顯示部分欄位,如果顯示哪列資料,就直接寫欄位名稱即可

(3) 過濾表中重複的math成績

SELECT DISTINCT math FROM student;

(4) 建立一個student類 新增屬性id,name,sex,chinese,English,math

並隨機增加5條屬性

select * from student;
– 查詢英語在70到75之間的學生的資訊
-- select * from student where english BETWEEN 70 AND 75;

– 查詢語文是80或者82或者90分的學生資訊
-- select * from student where chinese IN(80,82,90);

– 查詢所有首字母為l的學生的成績
-- select * from student where name like "l%";

– 查詢數學大於80且語文大於80 的同學
-- select * from student where math>80 and chinese>90;

– 對數學成績排序後輸出 (預設升序 ASC)
-- select * from student order by math;

– 對數學成績排序後輸出(降序 DESC)
-- SELECT * FROM student order by math DESC;

– 指定多個欄位進行排序,先按第一個欄位進行排序,如果相同則按第二個欄位進行排序
  -- SELECT * FROM student ORDER BY math DESC,chinese DESC;

– WHERE後可以加 ORDER BY
-- SELECT * from student where name like "%l" ORDER BY math DESC;

– 顯示student 表格中的前3行
SELECT * from student LIMIT 2;

– 顯示student 表格中的第3~5行
SELECT * from student LIMIT 2,3; -- 2表示偏移量,3表示顯示的行數

附錄:①在where中經常使用的運算子

在這裡插入圖片描述

注:邏輯運算子優先順序 not>and>or

*②select |{column1|expression、column2|expression,…}from table;
select column as 別名 from table;

注:

expression : mysql支援表示式 加減乘除;
as: 表示給某一列起別名;並且as 可以省略;

– 關聯(1對N)

create table customer(
 id int PRIMARY KEY auto_increment,name varchar (20) not null,adress varchar (20) not null
);
create table orders(
 order_num varchar(20) PRIMARY KEY,price FLOAT not NULL,customer_id int,-- 進行和customer 關聯的欄位 外來鍵
 constraint cus_ord_fk foreign key (customer_id) REFERENCES customer(id)
);
insert into customer(name,adress) values("zs","北京");
insert into customer(name,adress) values("ls","上海");
SELECT * from customer;
INSERT INTO orders values("010",30.5,1);
INSERT INTO orders values("011",60.5,2);
INSERT INTO orders values("012",120.5,1);
SELECT * from orders;

主鍵和唯一標識

unique 唯一性標識

primary key 主鍵 (auto_increment 設定自動增長)
-- UNIQUE 表約束 唯一性標識
-- PRIMARY KEY 主鍵 
CREATE TABLE t4 (
 id INT PRIMARY KEY auto_increment,NAME VARCHAR (20) NOT NULL,gender CHAR (5) NOT NULL,idCard VARCHAR (20) UNIQUE -- UNIQUE 唯一性標識
);
desc t4;
insert into t4 (name,gender,idCard) VALUE("zs","man","110");
insert into t4 (name,idCard) VALUE("ls","woman","112");

總結

以上所述是小編給大家介紹的SQL中的DQL查詢語言,如果大家有任何疑問請給我留言,小編會及時回覆大家的。在此也非常感謝大家對我們網站的支援!