検索

sql server投影查询、选择查询

Jun 07, 2016 pm 04:19 PM
server投影お問い合わせ選ぶ

--简单查询 --投影查询 /* 简单查询关键字说明: all :指定显示所有的记录,包括重复行。all是默认设置。 distinct :指定显示所有的记录,但不包括重复行。 top n [percent]:指定从结果中返回前n行,或者前n%的数据记录 * : 表示所有记录 */ --选择一个表

   --简单查询

  --投影查询

  /*

  简单查询关键字说明:

  all :指定显示所有的记录,包括重复行。all是默认设置。

  distinct :指定显示所有的记录,但不包括重复行。

  top n [percent]:指定从结果中返回前n行,或者前n%的数据记录

  * : 表示所有记录

  */

  --选择一个表中指定的列

  --查询学生表中“姓名”,“年龄”

  select Sname , Sage from Student

  --查询学生表中的所有记录

  select * from Student --用*表示所有的列

  --查询学生表中所有学生的姓名,,去掉重复行

  select distinct Sname from Student

  /*

  用distinct关键字可以过滤掉查询结果中重复行

  */

  --查询学生表中前三行的记录

  select top 3 * from Student

  /*

  用top n 可以指定查询表中的前n行记录

  */

  --查询学生表中前50%的记录

  select top 50 percent * from Student

  /*

  用top n percent可以指定查询表中前n%的记录

  */

  --修改查询结果中的列标题

  /*

  修改查询列名的常用方法

  方法一:在列表达式后面直接给出列名

  方法二:用as关键字来连接列表达式和指定的列名

  */

  --将查询结果中的Sname给成“姓名”,Sno改成“学号”,Sage改成“年龄”

  --方法一:

  select Sno 学号,Sname 姓名,Sage 年龄 from Student

  --方法二:

  select Sno as 学号,Sname as 姓名,Sage as 年龄 from Student

  --计算列值

  select 100-Sage as 寿命 from Student

  --选择查询

  /*

  选择查询语法:

  select select_list from table_list

  where search_condition

  //其中有多种语句可以做为条件表达式

  分别是“关系表达式”、“逻辑表达式”、“between语句”、“in语句”、“like语句”、“is [not] null语句”、“复合语句”

  */

  --使用“关系表达式”做为查询条件。。。。。。

  select * from SC

  --查询所有成绩大于等于90分的记录

  select * from SC Student where Grade>=90

  --使用“逻辑表达式”做为查询条件。。。。。。

  /*

  SQL 中的逻辑表达式:

  not :非

  and :与

  or :或

  */

  select * from Student

  --在学生表中查询年龄是19岁的男学生

  select * from Student where Sage = 19 and Ssex = '男'

  --在学生表中查询年龄是19或20岁的学生

  select * from Student where Sage = 19 or Sage = 20

  --在学生表中查询年龄不是19岁的学生

  select * from Student where not Sage = 19

  --使用between关键之做为查询条件。。。。。。。

  /*

  between 语法:

  表达式 [not] between 表达式1 and 表达式2

  使用between关键字可以方便的控制查询结果数据的范围

  注意使用between形成搜索范围是一个“闭区间”

  */

  --查询所有年龄"大于等于"18岁且"小于等于"20岁的学生

  select * from Student where Sage between 18 and 20

  --查询所有年龄不在18到19岁之间的学生

  select * from Student where Sage not between 18 and 19

  --使用in(属于)关键字做为条件表达式......。。。。。

  /*

  同between关键字一样,in关键字的引入也是为了更加方便的限制检索数据的范围

  */

  /*

  in关键字的语法如下:

  表达式 [not] in (表达式1,表达式2,...)

  */

  select * from Student

  --查询所有年龄为18和19岁的学生

  select * from Student where Sage in (18,19)

  --使用like关键字语句做为条件语句。。。。。。

  /*

  like 关键字搜索与指定模式匹配的字符串

  */

  /*

  通配符介绍:

  % :包括零个或多个字符的任意字符串

  _ : 任何单个字符

  []: 代表指定范围内的单个字符,[]中可以是单个字符(如[acef]),也可以是字符范围(如[a-f])

  [^]: 表示不在指定范围内的单个字符,[^]中可以是单个字符(如[^abef]),也可以是字符范围[^a-f]

  */

  /*

  通配符的示例

  like 'AB%' 返回以AB开始的任意字符串

  like 'Ab%' 返回Ab开始的任意字符串

  like '%abc'返回以abc结尾的任意字符串

  like '%abc%'返回包含abc的任意字符串

  like '_ab'返回以ab结尾的任意三个字符的字符串

  like '[ACK]%'返回以A、C或K开始的任意字符串

  like '[A-T]ing' 返回四个字符的字符串,以ing结尾,其首字母的范围是A到T

  like 'M[^c]%' 返回以M开始且第二个字符不是c的任意长度的字符串

  */

  select * from Student

  --查询所有姓王的学生

  select * from Student where Sname like '王%'

  insert into Student(Sno,Sname,Sage,Ssex,Sdept)

  values ('008','张四',20,'男','sc')

  --查询所有名字中带四字的学生

  select * from Student where Sname like '%四%'

  //

  --使用isnull(是否为空)查询。。。。。。

  /*

  说明:在where语句中不能使用比较运算符来进行控制判断,只能使用空值表达式来判断某个表达式是否为空值

  语法如下:

  表达式 is null

  或

  表达式 is not null

  */

  --查询所有学生姓名为空的学生。。。。。。。。。

  select * from Student where Sname is not null

  --使用复合条件查询。。。。。。。。。。。。。。

  /*

  使用复合语句的时候需要使用逻辑运算符把多个条件语句合并

  and

  or

  not

  每个单独的条件语句可以使用()小括号括起来

  */

  //聚合函数(求记录数据的处理结果)

  --聚合函数 (求记录数据的处理结果)

  /*

  聚合函数是在SQL Server 中已经定义好了的一些列函数

  注意:这些函数处理的是一个数据集合,而不是一行单独的记录

  */

  /*

  sum()返回一个数字列或计算列的总和

  avg()返回一盒数字列或计算列的平均值

  min()返回最小值

  max()返回最大值

  count() 返回一个数据列中数据项数

  count(*) 返回找到的行数

  */

  select * from SC

  --求SC表中成绩的平均值

  select AVG(Grade ) as 成绩平均值 from SC

  --求SC表中成绩的总和

  select sum(Grade ) as 成绩平均值 from SC

  --求SC表中的项数

  select count(Grade ) as 记录条数 from SC

  select COUNT(*) as 记录条数 from SC

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
MySQLはSQLiteとどのように違いますか?MySQLはSQLiteとどのように違いますか?Apr 24, 2025 am 12:12 AM

MySQLとSQLiteの主な違いは、設計コンセプトと使用法のシナリオです。1。MySQLは、大規模なアプリケーションとエンタープライズレベルのソリューションに適しており、高性能と高い並行性をサポートしています。 2。SQLiteは、モバイルアプリケーションとデスクトップソフトウェアに適しており、軽量で埋め込みやすいです。

MySQLのインデックスとは何ですか?また、パフォーマンスをどのように改善しますか?MySQLのインデックスとは何ですか?また、パフォーマンスをどのように改善しますか?Apr 24, 2025 am 12:09 AM

MySQLのインデックスは、データの取得をスピードアップするために使用されるデータベーステーブル内の1つ以上の列の順序付けられた構造です。 1)インデックスは、スキャンされたデータの量を減らすことにより、クエリ速度を改善します。 2)B-Tree Indexは、バランスの取れたツリー構造を使用します。これは、範囲クエリとソートに適しています。 3)CreateIndexステートメントを使用して、createIndexidx_customer_idonorders(customer_id)などのインデックスを作成します。 4)Composite Indexesは、createIndexIDX_CUSTOMER_ORDERONORDERS(Customer_Id、Order_date)などのマルチコラムクエリを最適化できます。 5)説明を使用してクエリ計画を分析し、回避します

データの一貫性を確保するために、MySQLでトランザクションを使用する方法を説明します。データの一貫性を確保するために、MySQLでトランザクションを使用する方法を説明します。Apr 24, 2025 am 12:09 AM

MySQLでトランザクションを使用すると、データの一貫性が保証されます。 1)StartTransactionを介してトランザクションを開始し、SQL操作を実行して、コミットまたはロールバックで送信します。 2)SavePointを使用してSave Pointを設定して、部分的なロールバックを許可します。 3)パフォーマンスの最適化の提案には、トランザクション時間の短縮、大規模なクエリの回避、分離レベルの使用が合理的に含まれます。

どのシナリオでMySQLよりもPostgreSQLを選択できますか?どのシナリオでMySQLよりもPostgreSQLを選択できますか?Apr 24, 2025 am 12:07 AM

MySQLの代わりにPostgreSQLが選択されるシナリオには、1)複雑なクエリと高度なSQL関数、2)厳格なデータの整合性と酸コンプライアンス、3)高度な空間関数が必要、4)大規模なデータセットを処理するときに高いパフォーマンスが必要です。 PostgreSQLは、これらの側面でうまく機能し、複雑なデータ処理と高いデータの整合性を必要とするプロジェクトに適しています。

MySQLデータベースをどのように保護できますか?MySQLデータベースをどのように保護できますか?Apr 24, 2025 am 12:04 AM

MySQLデータベースのセキュリティは、以下の測定を通じて達成できます。1。ユーザー許可管理:CreateUSERおよびGrantコマンドを通じてアクセス権を厳密に制御します。 2。暗号化された送信:SSL/TLSを構成して、データ送信セキュリティを確保します。 3.データベースのバックアップとリカバリ:MySQLDUMPまたはMySQLPumpを使用して、定期的にデータをバックアップします。 4.高度なセキュリティポリシー:ファイアウォールを使用してアクセスを制限し、監査ロギング操作を有効にします。 5。パフォーマンスの最適化とベストプラクティス:インデックス作成とクエリの最適化と定期的なメンテナンスを通じて、安全性とパフォーマンスの両方を考慮に入れます。

MySQLのパフォーマンスを監視するために使用できるツールは何ですか?MySQLのパフォーマンスを監視するために使用できるツールは何ですか?Apr 23, 2025 am 12:21 AM

MySQLのパフォーマンスを効果的に監視する方法は? MySqladmin、ShowGlobalStatus、PerconAmonitoring and Management(PMM)、MySQL EnterpriseMonitorなどのツールを使用します。 1. mysqladminを使用して、接続の数を表示します。 2。showglobalstatusを使用して、クエリ番号を表示します。 3.PMMは、詳細なパフォーマンスデータとグラフィカルインターフェイスを提供します。 4.mysqlenterprisemonitorは、豊富な監視機能とアラームメカニズムを提供します。

MySQLはSQL Serverとどのように違いますか?MySQLはSQL Serverとどのように違いますか?Apr 23, 2025 am 12:20 AM

MySQLとSQLServerの違いは次のとおりです。1)MySQLはオープンソースであり、Webおよび埋め込みシステムに適しています。2)SQLServerはMicrosoftの商用製品であり、エンタープライズレベルのアプリケーションに適しています。ストレージエンジン、パフォーマンスの最適化、アプリケーションシナリオの2つには大きな違いがあります。選択するときは、プロジェクトのサイズと将来のスケーラビリティを考慮する必要があります。

どのシナリオでMySQLよりもSQL Serverを選択できますか?どのシナリオでMySQLよりもSQL Serverを選択できますか?Apr 23, 2025 am 12:20 AM

高可用性、高度なセキュリティ、優れた統合を必要とするエンタープライズレベルのアプリケーションシナリオでは、MySQLの代わりにSQLServerを選択する必要があります。 1)SQLServerは、高可用性や高度なセキュリティなどのエンタープライズレベルの機能を提供します。 2)VisualStudioやPowerbiなどのMicrosoftエコシステムと密接に統合されています。 3)SQLSERVERは、パフォーマンスの最適化に優れた機能を果たし、メモリが最適化されたテーブルと列ストレージインデックスをサポートします。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

mPDF

mPDF

mPDF は、UTF-8 でエンコードされた HTML から PDF ファイルを生成できる PHP ライブラリです。オリジナルの作者である Ian Back は、Web サイトから「オンザフライ」で PDF ファイルを出力し、さまざまな言語を処理するために mPDF を作成しました。 HTML2FPDF などのオリジナルのスクリプトよりも遅く、Unicode フォントを使用すると生成されるファイルが大きくなりますが、CSS スタイルなどをサポートし、多くの機能強化が施されています。 RTL (アラビア語とヘブライ語) や CJK (中国語、日本語、韓国語) を含むほぼすべての言語をサポートします。ネストされたブロックレベル要素 (P、DIV など) をサポートします。

VSCode Windows 64 ビットのダウンロード

VSCode Windows 64 ビットのダウンロード

Microsoft によって発売された無料で強力な IDE エディター

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

強力な PHP 統合開発環境