位置:首頁 > 軟件操作教程 > 數(shù)據(jù)分析 > MySQL > 問題詳情

MySQL——子查詢

提問人:劉旭39發(fā)布時間:2020-10-10

子查詢

  子查詢可以理解為 套查詢.子查詢是一個Select語句.

  1 表達式的值與子查詢返回的單一值做比較

  語法:

  表達式 comparision [ANY|ALL|SOME](子查詢)

  說明:

  ANY 和SOME謂詞是同義詞,與比較運算符(=,<,>,<>,<=,>=)一起使用.返回一個布爾

  值True或 False.ANY的意思是,表達式與子查詢返回的一系列的值逐一比較,只要其

  中的一次比較產(chǎn)生True結(jié)果,ANY測試的返回 True值(既Where子句的結(jié)果),對應于

  該表達式的當前記錄將進入主查詢的結(jié)果中.ALL測試則要求表達式與子查詢返回的

  一系列的值的比較都產(chǎn)生 True結(jié)果,才回返回True值.

  例:主查詢返回單價比任何一個折扣大于等于25%的產(chǎn)品的單價要高的所有產(chǎn)品

  Select * FROM Products

  Where UnitPrice>ANY

  (Select UnitPrice FROM[Order Details] Where Discount>0.25)

  2 檢查表達式的值是否匹配子查詢返回的一組值的某個值

  語法:

  [NOT]IN(子查詢)

  例:返回庫存價值大于等于1000的產(chǎn)品.

  Select ProductName FROM Products

  Where ProductID IN

  (Select PrdoctID FROM [Order DEtails]

  Where UnitPrice*Quantity>= 1000)

  3檢測子查詢是否返回任何記錄

  語法:

  [NOT]EXISTS (子查詢)

  例:用EXISTS檢索英國的客戶

  Select ComPanyName,ContactName

  FROM orders

  Where EXISTS

  (Select *

  FROM Customers

  Where Country = 'UK' AND

  Customers.CustomerID= orders.CustomerID)

  1:使用SHOW語句找出在服務器上當前存在什么數(shù)據(jù)庫:

  mysql> SHOW DATABASES;

  2:2、創(chuàng)建一個數(shù)據(jù)庫MYSQLDATA

  mysql> Create DATABASE MYSQLDATA;

  3:選擇你所創(chuàng)建的數(shù)據(jù)庫

  mysql> USE MYSQLDATA; (按回車鍵出現(xiàn)Database changed 時說明操作成功!)

  4:查看現(xiàn)在的數(shù)據(jù)庫中存在什么表

  mysql> SHOW TABLES;

  5:創(chuàng)建一個數(shù)據(jù)庫表

  mysql> Create TABLE MYTABLE (name VARCHAR(20), sex CHAR(1));

  6:顯示表的結(jié)構(gòu):

  mysql> DESCRIBE MYTABLE;

  7:往表中加入記錄

  mysql> insert into MYTABLE values ("hyq","M");

  8:用文本方式將數(shù)據(jù)裝入數(shù)據(jù)庫表中(例如D:/mysql.txt)

  mysql> LOAD DATA LOCAL INFILE "D:/mysql.txt" INTO TABLE MYTABLE;

  9:導入.sql文件命令(例如D:/mysql.sql)

  mysql>use database;

  mysql>source d:/mysql.sql;

  10:刪除表

  mysql>drop TABLE MYTABLE;

  11:清空表

  mysql>delete from MYTABLE;

  12:更新表中數(shù)據(jù)

  mysql>update MYTABLE set sex="f" where name='hyq';


繼續(xù)查找其他問題的答案?

相關視頻回答
回復(0)
返回頂部